1
+ ### Anonim sınıflar: Bu sınıflar bildirimleri sırasında programcının isimlendirmediği sınıflardır.
1
2
``` java
2
3
/* ----------------------------------------------------------------------------------------------------------------------
3
4
Anonim sınıflar: Bu sınıflar bildirimleri sırasında programcının isimlendirmediği sınıflardır.
14
15
taban sınıf türünden (veya interface) bir referansa atanmalıdır
15
16
----------------------------------------------------------------------------------------------------------------------*/
16
17
```
18
+ ### Aşağıdaki örnekte iki farklı anonim sınıf bildirimi yapılmıştır
17
19
``` java
18
20
/* ----------------------------------------------------------------------------------------------------------------------
19
21
Aşağıdaki örnekte iki farklı anonim sınıf bildirimi yapılmıştır
@@ -35,6 +37,7 @@ class Sample {
35
37
// ...
36
38
}
37
39
```
40
+ ### Aşağıdaki örnekte iki farklı anonim sınıf bildirimi yapılmıştır. Ekran çıktılarını inceleyiniz
38
41
``` java
39
42
/* ----------------------------------------------------------------------------------------------------------------------
40
43
Aşağıdaki örnekte iki farklı anonim sınıf bildirimi yapılmıştır. Ekran çıktılarını inceleyiniz
@@ -58,6 +61,7 @@ class Sample {
58
61
// ...
59
62
}
60
63
```
64
+ ### final olarak bildirilmiş sınıflar türetme işlemine kapalı olduğundan anonim sınıf bildirimi de yapılamaz
61
65
``` java
62
66
/* ----------------------------------------------------------------------------------------------------------------------
63
67
final olarak bildirilmiş sınıflar türetme işlemine kapaıl olduğundan anonim sınıf bildirimi de
@@ -77,6 +81,7 @@ final class Sample {
77
81
// ...
78
82
}
79
83
```
84
+ ### Anonim sınıf bildiriminde taban sınıfın non-static olan ve final olarak bildirilmemiş bir metodu override edilebilir
80
85
``` java
81
86
/* ----------------------------------------------------------------------------------------------------------------------
82
87
Anonim sınıf bildiriminde taban sınıfın non-static olan ve final olarak bildirilmemiş bir metodu
@@ -106,6 +111,7 @@ class Sample {
106
111
}
107
112
}
108
113
```
114
+ ### referans sayacı algoritması ve garbage collected ilişkisi
109
115
``` java
110
116
/* ----------------------------------------------------------------------------------------------------------------------
111
117
Aşağıdaki örnekte Sample türünden bir referans dolaylı da olsa Mample sınıfına bağlandığından referans sayacı
@@ -181,6 +187,7 @@ class Sample {
181
187
}
182
188
}
183
189
```
190
+ ### Aşağıdaki örnekte anonim sınıf nesneleri Mample sınıfına bağlanmıştır
184
191
``` java
185
192
/* ----------------------------------------------------------------------------------------------------------------------
186
193
Aşağıdaki örnekte anonim sınıf nesneleri Mample sınıfına bağlanmıştır
@@ -219,6 +226,7 @@ class Sample {
219
226
}
220
227
}
221
228
```
229
+ ### Aşağıdaki örnekte Sample sınıfı static sınıf haline getirilip yalnızca içeride kullanılacak durumdadır
222
230
``` java
223
231
/* ----------------------------------------------------------------------------------------------------------------------
224
232
Aşağıdaki örnekte Sample sınıfı static sınıf haline getirilip yalnızca içeride kullanılacak durumdadır
@@ -278,6 +286,7 @@ class Mample {
278
286
// ...
279
287
}
280
288
```
289
+ ### Yukarıdaki örneğin Sample ve Mample sınıflarının ayrılmış biçimi
281
290
``` java
282
291
/* ----------------------------------------------------------------------------------------------------------------------
283
292
Yukarıdaki örneğin Sample ve Mample sınıflarının ayrılmış biçimi
@@ -345,8 +354,8 @@ public class Mample {
345
354
}
346
355
}
347
356
```
357
+ ### Aşağıdaki masum örnekte bellek sızıntısına dikkat ediniz
348
358
``` java
349
-
350
359
/* ----------------------------------------------------------------------------------------------------------------------
351
360
Aşağıdaki masum örnekte bellek sızıntısına dikkat ediniz
352
361
----------------------------------------------------------------------------------------------------------------------*/
@@ -371,6 +380,7 @@ class Sample {
371
380
// ...
372
381
}
373
382
```
383
+ ### Anonim sınıflar içerisinde kendisinden önce bildirilen yerel ve parametre değişkenleri kullanılabilir (capture)
374
384
``` java
375
385
/* ----------------------------------------------------------------------------------------------------------------------
376
386
Anonim sınıflar içerisinde kendisinden önce bildirilen yerel ve parametre değişkenleri kullanılabilir (capture)
@@ -408,6 +418,7 @@ class Sample {
408
418
}
409
419
}
410
420
```
421
+ ### Anonim sınıflar içerisinde içerisinde bildirildikleri metodun ait olduğu sınıfın veri elemanlarına doğrudan erişilebilir.
411
422
``` java
412
423
/* ----------------------------------------------------------------------------------------------------------------------
413
424
Anonim sınıflar içerisinde içerisinde bildirildikleri metodun ait olduğu sınıfın veri elemanlarına doğrudan
@@ -452,6 +463,7 @@ class Sample {
452
463
}
453
464
}
454
465
```
466
+ ### Timer sınıfı timer periyodik işlerin yapılmasında kullanılan temel sınıflardan biridir.
455
467
``` java
456
468
/* ----------------------------------------------------------------------------------------------------------------------
457
469
Timer sınıfı timer periyodik işlerin yapılmasında kullanılan temel sınıflardan biridir. Bu sınıfın scheduleXXX
@@ -481,6 +493,7 @@ class App {
481
493
}
482
494
}
483
495
```
496
+ ### scheduleXXX metotlarının delay parametresi ile timer istenilen zamanda başlatılabilir
484
497
``` java
485
498
/* ----------------------------------------------------------------------------------------------------------------------
486
499
scheduleXXX metotlarının delay parametresi ile timer istenilen zamanda başlatılabilir
@@ -509,6 +522,7 @@ class App {
509
522
}
510
523
511
524
```
525
+ ### scheduleXXX metotlarının Date paramtreli versiyonları
512
526
``` java
513
527
/* ----------------------------------------------------------------------------------------------------------------------
514
528
scheduleXXX metotlarının Date paramtreli versiyonları
@@ -541,6 +555,7 @@ class App {
541
555
}
542
556
}
543
557
```
558
+ ### Timer sınıfı
544
559
``` java
545
560
/* ----------------------------------------------------------------------------------------------------------------------
546
561
Timer sınıfı
@@ -569,6 +584,7 @@ class App {
569
584
}
570
585
}
571
586
```
587
+ ### Timer sınıfı ile basit bir dijital saat uygulaması:
572
588
``` java
573
589
/* ----------------------------------------------------------------------------------------------------------------------
574
590
Timer sınıfı ile basit bir dijital saat uygulaması: Kodu işletim sisteminin komut yorumlayıcısı ile
@@ -606,6 +622,7 @@ class SampleDigitalClock {
606
622
}
607
623
}
608
624
```
625
+ ### Anonim sınıf içerisinde veri elemanı bildirimi veya metot bildirimi yapılabilir.
609
626
``` java
610
627
/* ----------------------------------------------------------------------------------------------------------------------
611
628
Anonim sınıf içerisinde veri elemanı bildirimi veya metot bildirimi yapılabilir. Şüphesiz bu bildirilen metotlara
@@ -642,8 +659,8 @@ class Sample {
642
659
{}
643
660
}
644
661
```
662
+ ### Timer sınıfının cancel metodu timer durdurulabilir
645
663
``` java
646
-
647
664
/* ----------------------------------------------------------------------------------------------------------------------
648
665
Timer sınıfının cancel metodu timer durdurulabilir
649
666
----------------------------------------------------------------------------------------------------------------------*/
@@ -677,6 +694,7 @@ class App {
677
694
}
678
695
}
679
696
```
697
+ ### Timer sınıfının cancel metodu timer durdurulabilir
680
698
``` java
681
699
/* ----------------------------------------------------------------------------------------------------------------------
682
700
Timer sınıfının cancel metodu timer durdurulabilir
@@ -709,6 +727,7 @@ class App {
709
727
}
710
728
}
711
729
```
730
+ ### Sınıf Çalışması: Alarm uygulaması
712
731
``` java
713
732
/* ----------------------------------------------------------------------------------------------------------------------
714
733
Sınıf Çalışması: Klavyeden girilen saat ve dakika bilgisine göre o zaman geldiğinde ekrana "Artık uyan"
@@ -760,6 +779,7 @@ public class AlarmWithoutSecondApp {
760
779
}
761
780
}
762
781
```
782
+ ### Alarm sınıfı
763
783
``` java
764
784
/* ----------------------------------------------------------------------------------------------------------------------
765
785
Alarm sınıfı
@@ -809,6 +829,7 @@ public class Alarm {
809
829
}
810
830
}
811
831
```
832
+ ### AlarmTask sınıfı
812
833
``` java
813
834
/* ----------------------------------------------------------------------------------------------------------------------
814
835
AlarmTask sınıfı
@@ -823,6 +844,7 @@ public class AlarmTask {
823
844
// ...
824
845
}
825
846
```
847
+ ### TimeUnit enum sınıfı ile zamana ilişkin birim dönüşümleri yapılabilir
826
848
``` java
827
849
/* ----------------------------------------------------------------------------------------------------------------------
828
850
TimeUnit enum sınıfı ile zamana ilişkin birim dönüşümleri yapılabilir
@@ -855,6 +877,7 @@ class App {
855
877
}
856
878
}
857
879
```
880
+ ### ScheduleUtil sınıfı ve test kodu
858
881
``` java
859
882
/* ----------------------------------------------------------------------------------------------------------------------
860
883
ScheduleUtil sınıfı ve test kodu
@@ -882,6 +905,7 @@ class App {
882
905
}
883
906
}
884
907
```
908
+ ### ScheduleUtil sınıfı
885
909
``` java
886
910
/* ----------------------------------------------------------------------------------------------------------------------
887
911
ScheduleUtil sınıfı
@@ -907,6 +931,7 @@ public class ScheduleUtil {
907
931
}
908
932
}
909
933
```
934
+ ### Anonim sınıf nesneleri yaratılırken kullanılan ctor ile super ctor sentaksı kullanılmış olur.
910
935
``` java
911
936
/* ----------------------------------------------------------------------------------------------------------------------
912
937
Anonim sınıf nesneleri yaratılırken kullanılan ctor ile super ctor sentaksı kullanılmış olur. Yani aşağıdaki
@@ -940,6 +965,7 @@ class Sample {
940
965
// ...
941
966
}
942
967
```
968
+ ### Sınıf Çalışması: Aşağıda açıklanan Scheduler isimli sınıfı yazınız.
943
969
``` java
944
970
/* ----------------------------------------------------------------------------------------------------------------------
945
971
Sınıf Çalışması: Aşağıda açıklanan Scheduler isimli sınıfı yazınız.
@@ -1012,6 +1038,7 @@ class App {
1012
1038
}
1013
1039
}
1014
1040
```
1041
+ ### Scheduler sınıfı
1015
1042
``` java
1016
1043
/* ----------------------------------------------------------------------------------------------------------------------
1017
1044
Scheduler sınıfı
@@ -1071,6 +1098,7 @@ public final class Scheduler {
1071
1098
}
1072
1099
}
1073
1100
```
1101
+ ### Sınıf Çalışması: Aşağıda açıklanan sınıfı yazınız:
1074
1102
``` java
1075
1103
/* ----------------------------------------------------------------------------------------------------------------------
1076
1104
Sınıf Çalışması: Aşağıda açıklanan sınıfı yazınız:
@@ -1187,6 +1215,7 @@ class MyCountDownScheduler extends CountDownScheduler {
1187
1215
}
1188
1216
}
1189
1217
```
1218
+ ### CountDownScheduler sınıfı
1190
1219
``` java
1191
1220
/* ----------------------------------------------------------------------------------------------------------------------
1192
1221
CountDownScheduler sınıfı
@@ -1251,6 +1280,7 @@ public abstract class CountDownScheduler {
1251
1280
}
1252
1281
1253
1282
```
1283
+ ### Sınıf Çalışması: CountDownSchedulerEx sınıfını yazınız
1254
1284
``` java
1255
1285
/* ----------------------------------------------------------------------------------------------------------------------
1256
1286
Sınıf Çalışması: CountDownScheduler sınıfını genişletecek şekilde başlangıçta da bir iş yapılabilmsini sağlayan onStart
@@ -1291,6 +1321,7 @@ class App {
1291
1321
}
1292
1322
}
1293
1323
```
1324
+ ### CountDownSchedulerEx sınıfı
1294
1325
``` java
1295
1326
/* ----------------------------------------------------------------------------------------------------------------------
1296
1327
CountDownSchedulerEx sınıfı
@@ -1319,6 +1350,7 @@ public abstract class CountDownSchedulerEx extends CountDownScheduler {
1319
1350
public abstract void onStart ();
1320
1351
}
1321
1352
```
1353
+ ### Aşağıdaki örnekte anonim sınıf kullanılarak adeta nesneye ilkdeğer verme biçiminde kod yazılmıştır fakat bu ilk değer verme sentaksı değildir!
1322
1354
``` java
1323
1355
/* ----------------------------------------------------------------------------------------------------------------------
1324
1356
Aşağıdaki örnekte anonim sınıf kullanılarak adeta nesneye ilkdeğer verme biçiminde kod yazılmıştır. Bu sentaks
0 commit comments