Skip to content

Commit 6ea11ff

Browse files
Update JavaEE009.md
1 parent 3dc4c94 commit 6ea11ff

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

JavaAppLesson009/JavaEE009.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
### Anonim sınıflar: Bu sınıflar bildirimleri sırasında programcının isimlendirmediği sınıflardır.
12
```java
23
/*----------------------------------------------------------------------------------------------------------------------
34
Anonim sınıflar: Bu sınıflar bildirimleri sırasında programcının isimlendirmediği sınıflardır.
@@ -14,6 +15,7 @@
1415
taban sınıf türünden (veya interface) bir referansa atanmalıdır
1516
----------------------------------------------------------------------------------------------------------------------*/
1617
```
18+
### Aşağıdaki örnekte iki farklı anonim sınıf bildirimi yapılmıştır
1719
```java
1820
/*----------------------------------------------------------------------------------------------------------------------
1921
Aşağıdaki örnekte iki farklı anonim sınıf bildirimi yapılmıştır
@@ -35,6 +37,7 @@ class Sample {
3537
//...
3638
}
3739
```
40+
### Aşağıdaki örnekte iki farklı anonim sınıf bildirimi yapılmıştır. Ekran çıktılarını inceleyiniz
3841
```java
3942
/*----------------------------------------------------------------------------------------------------------------------
4043
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 {
5861
//...
5962
}
6063
```
64+
### final olarak bildirilmiş sınıflar türetme işlemine kapalı olduğundan anonim sınıf bildirimi de yapılamaz
6165
```java
6266
/*----------------------------------------------------------------------------------------------------------------------
6367
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 {
7781
//...
7882
}
7983
```
84+
### Anonim sınıf bildiriminde taban sınıfın non-static olan ve final olarak bildirilmemiş bir metodu override edilebilir
8085
```java
8186
/*----------------------------------------------------------------------------------------------------------------------
8287
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 {
106111
}
107112
}
108113
```
114+
### referans sayacı algoritması ve garbage collected ilişkisi
109115
```java
110116
/*----------------------------------------------------------------------------------------------------------------------
111117
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 {
181187
}
182188
}
183189
```
190+
### Aşağıdaki örnekte anonim sınıf nesneleri Mample sınıfına bağlanmıştır
184191
```java
185192
/*----------------------------------------------------------------------------------------------------------------------
186193
Aşağıdaki örnekte anonim sınıf nesneleri Mample sınıfına bağlanmıştır
@@ -219,6 +226,7 @@ class Sample {
219226
}
220227
}
221228
```
229+
### Aşağıdaki örnekte Sample sınıfı static sınıf haline getirilip yalnızca içeride kullanılacak durumdadır
222230
```java
223231
/*----------------------------------------------------------------------------------------------------------------------
224232
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 {
278286
//...
279287
}
280288
```
289+
### Yukarıdaki örneğin Sample ve Mample sınıflarının ayrılmış biçimi
281290
```java
282291
/*----------------------------------------------------------------------------------------------------------------------
283292
Yukarıdaki örneğin Sample ve Mample sınıflarının ayrılmış biçimi
@@ -345,8 +354,8 @@ public class Mample {
345354
}
346355
}
347356
```
357+
### Aşağıdaki masum örnekte bellek sızıntısına dikkat ediniz
348358
```java
349-
350359
/*----------------------------------------------------------------------------------------------------------------------
351360
Aşağıdaki masum örnekte bellek sızıntısına dikkat ediniz
352361
----------------------------------------------------------------------------------------------------------------------*/
@@ -371,6 +380,7 @@ class Sample {
371380
//...
372381
}
373382
```
383+
### Anonim sınıflar içerisinde kendisinden önce bildirilen yerel ve parametre değişkenleri kullanılabilir (capture)
374384
```java
375385
/*----------------------------------------------------------------------------------------------------------------------
376386
Anonim sınıflar içerisinde kendisinden önce bildirilen yerel ve parametre değişkenleri kullanılabilir (capture)
@@ -408,6 +418,7 @@ class Sample {
408418
}
409419
}
410420
```
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.
411422
```java
412423
/*----------------------------------------------------------------------------------------------------------------------
413424
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 {
452463
}
453464
}
454465
```
466+
### Timer sınıfı timer periyodik işlerin yapılmasında kullanılan temel sınıflardan biridir.
455467
```java
456468
/*----------------------------------------------------------------------------------------------------------------------
457469
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 {
481493
}
482494
}
483495
```
496+
### scheduleXXX metotlarının delay parametresi ile timer istenilen zamanda başlatılabilir
484497
```java
485498
/*----------------------------------------------------------------------------------------------------------------------
486499
scheduleXXX metotlarının delay parametresi ile timer istenilen zamanda başlatılabilir
@@ -509,6 +522,7 @@ class App {
509522
}
510523

511524
```
525+
### scheduleXXX metotlarının Date paramtreli versiyonları
512526
```java
513527
/*----------------------------------------------------------------------------------------------------------------------
514528
scheduleXXX metotlarının Date paramtreli versiyonları
@@ -541,6 +555,7 @@ class App {
541555
}
542556
}
543557
```
558+
### Timer sınıfı
544559
```java
545560
/*----------------------------------------------------------------------------------------------------------------------
546561
Timer sınıfı
@@ -569,6 +584,7 @@ class App {
569584
}
570585
}
571586
```
587+
### Timer sınıfı ile basit bir dijital saat uygulaması:
572588
```java
573589
/*----------------------------------------------------------------------------------------------------------------------
574590
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 {
606622
}
607623
}
608624
```
625+
### Anonim sınıf içerisinde veri elemanı bildirimi veya metot bildirimi yapılabilir.
609626
```java
610627
/*----------------------------------------------------------------------------------------------------------------------
611628
Anonim sınıf içerisinde veri elemanı bildirimi veya metot bildirimi yapılabilir. Şüphesiz bu bildirilen metotlara
@@ -642,8 +659,8 @@ class Sample {
642659
{}
643660
}
644661
```
662+
### Timer sınıfının cancel metodu timer durdurulabilir
645663
```java
646-
647664
/*----------------------------------------------------------------------------------------------------------------------
648665
Timer sınıfının cancel metodu timer durdurulabilir
649666
----------------------------------------------------------------------------------------------------------------------*/
@@ -677,6 +694,7 @@ class App {
677694
}
678695
}
679696
```
697+
### Timer sınıfının cancel metodu timer durdurulabilir
680698
```java
681699
/*----------------------------------------------------------------------------------------------------------------------
682700
Timer sınıfının cancel metodu timer durdurulabilir
@@ -709,6 +727,7 @@ class App {
709727
}
710728
}
711729
```
730+
### Sınıf Çalışması: Alarm uygulaması
712731
```java
713732
/*----------------------------------------------------------------------------------------------------------------------
714733
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 {
760779
}
761780
}
762781
```
782+
### Alarm sınıfı
763783
```java
764784
/*----------------------------------------------------------------------------------------------------------------------
765785
Alarm sınıfı
@@ -809,6 +829,7 @@ public class Alarm {
809829
}
810830
}
811831
```
832+
### AlarmTask sınıfı
812833
```java
813834
/*----------------------------------------------------------------------------------------------------------------------
814835
AlarmTask sınıfı
@@ -823,6 +844,7 @@ public class AlarmTask {
823844
//...
824845
}
825846
```
847+
### TimeUnit enum sınıfı ile zamana ilişkin birim dönüşümleri yapılabilir
826848
```java
827849
/*----------------------------------------------------------------------------------------------------------------------
828850
TimeUnit enum sınıfı ile zamana ilişkin birim dönüşümleri yapılabilir
@@ -855,6 +877,7 @@ class App {
855877
}
856878
}
857879
```
880+
### ScheduleUtil sınıfı ve test kodu
858881
```java
859882
/*----------------------------------------------------------------------------------------------------------------------
860883
ScheduleUtil sınıfı ve test kodu
@@ -882,6 +905,7 @@ class App {
882905
}
883906
}
884907
```
908+
### ScheduleUtil sınıfı
885909
```java
886910
/*----------------------------------------------------------------------------------------------------------------------
887911
ScheduleUtil sınıfı
@@ -907,6 +931,7 @@ public class ScheduleUtil {
907931
}
908932
}
909933
```
934+
### Anonim sınıf nesneleri yaratılırken kullanılan ctor ile super ctor sentaksı kullanılmış olur.
910935
```java
911936
/*----------------------------------------------------------------------------------------------------------------------
912937
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 {
940965
//...
941966
}
942967
```
968+
### Sınıf Çalışması: Aşağıda açıklanan Scheduler isimli sınıfı yazınız.
943969
```java
944970
/*----------------------------------------------------------------------------------------------------------------------
945971
Sınıf Çalışması: Aşağıda açıklanan Scheduler isimli sınıfı yazınız.
@@ -1012,6 +1038,7 @@ class App {
10121038
}
10131039
}
10141040
```
1041+
### Scheduler sınıfı
10151042
```java
10161043
/*----------------------------------------------------------------------------------------------------------------------
10171044
Scheduler sınıfı
@@ -1071,6 +1098,7 @@ public final class Scheduler {
10711098
}
10721099
}
10731100
```
1101+
### Sınıf Çalışması: Aşağıda açıklanan sınıfı yazınız:
10741102
```java
10751103
/*----------------------------------------------------------------------------------------------------------------------
10761104
Sınıf Çalışması: Aşağıda açıklanan sınıfı yazınız:
@@ -1187,6 +1215,7 @@ class MyCountDownScheduler extends CountDownScheduler {
11871215
}
11881216
}
11891217
```
1218+
### CountDownScheduler sınıfı
11901219
```java
11911220
/*----------------------------------------------------------------------------------------------------------------------
11921221
CountDownScheduler sınıfı
@@ -1251,6 +1280,7 @@ public abstract class CountDownScheduler {
12511280
}
12521281

12531282
```
1283+
### Sınıf Çalışması: CountDownSchedulerEx sınıfını yazınız
12541284
```java
12551285
/*----------------------------------------------------------------------------------------------------------------------
12561286
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 {
12911321
}
12921322
}
12931323
```
1324+
### CountDownSchedulerEx sınıfı
12941325
```java
12951326
/*----------------------------------------------------------------------------------------------------------------------
12961327
CountDownSchedulerEx sınıfı
@@ -1319,6 +1350,7 @@ public abstract class CountDownSchedulerEx extends CountDownScheduler {
13191350
public abstract void onStart();
13201351
}
13211352
```
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!
13221354
```java
13231355
/*----------------------------------------------------------------------------------------------------------------------
13241356
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

Comments
 (0)