1
+ ### Aşağıdaki örnekte immutable olmayan IntValue sınıfı zincir çağırmaya uygun olarak yazılmıştır.
1
2
``` java
2
3
/* ----------------------------------------------------------------------------------------------------------------------
3
4
Tekrar: Aşağıdaki örnekte immutable olmayan IntValue sınıfı zincir çağırmaya uygun olarak yazılmıştır.
@@ -84,6 +85,7 @@ class IntValue {
84
85
}
85
86
}
86
87
```
88
+ ### Aşağıdaki örnekte alartDailog nesnesinin yaratılması onun içerisinde bulunan Builder isimli bir sınıf kullanılarak yapılmıştır.
87
89
``` java
88
90
/* ----------------------------------------------------------------------------------------------------------------------
89
91
Aşağıdaki örnekte alartDailog nesnesinin yaratılması onun içerisinde bulunan Builder isimli bir sınıf kullanılarak
@@ -187,6 +189,7 @@ class AlertDialog {
187
189
}
188
190
}
189
191
```
192
+ ### enum içerisinde non-static sınıf bildirimi geçerlidir
190
193
``` java
191
194
/* ----------------------------------------------------------------------------------------------------------------------
192
195
enum içerisinde non-static sınıf bildirimi geçerlidir
@@ -209,6 +212,7 @@ enum Sample {
209
212
}
210
213
}
211
214
```
215
+ ### enum içerisinde static sınıf bildirimi geçerlidir
212
216
``` java
213
217
/* ----------------------------------------------------------------------------------------------------------------------
214
218
enum içerisinde static sınıf bildirimi geçerlidir
@@ -231,6 +235,7 @@ enum Sample {
231
235
}
232
236
}
233
237
```
238
+ ### Sınıf içerisine non-static enum bildirimi yapılabilir
234
239
``` java
235
240
/* ----------------------------------------------------------------------------------------------------------------------
236
241
Sınıf içerisine non-static enum bildirimi yapılabilir
@@ -260,6 +265,7 @@ class Sample {
260
265
261
266
}
262
267
```
268
+ ### Sınıf içerisinde enum bildirimlerinin static veya non-static olmasının bir farklı yoktur.
263
269
``` java
264
270
/* ----------------------------------------------------------------------------------------------------------------------
265
271
Sınıf içerisinde enum bildirimlerinin static veya non-static olmasının bir farklı yoktur. Çünkü
@@ -289,6 +295,7 @@ class Sample {
289
295
}
290
296
}
291
297
```
298
+ ### Aşağıdaki örnekte Figther sınıfına int türden yeni bir yetenek eklendiğinde sumOfAbilities ve averageOfAbilities metotları da değiştirilmek zorundadır.
292
299
``` java
293
300
/* ----------------------------------------------------------------------------------------------------------------------
294
301
Aşağıdaki örnekte Figther sınıfına int türden yeni bir yetenek eklendiğinde sumOfAbilities ve averageOfAbilities
@@ -375,6 +382,7 @@ class Fighter {
375
382
}
376
383
}
377
384
```
385
+ ### Problem: Aşağıdaki sınıfa yeni bir yetenek eklendiğinde sumOfAbilities ve averageOfAbilities metotlarını değiştirmek zorunda kalmayacak şekilde sınıfı yeniden yazınız.
378
386
``` java
379
387
/* ----------------------------------------------------------------------------------------------------------------------
380
388
Problem: Aşağıdaki sınıfa yeni bir yetenek eklendiğinde sumOfAbilities ve averageOfAbilities metotlarını
@@ -474,6 +482,7 @@ class Fighter {
474
482
}
475
483
}
476
484
```
485
+ ### Problem: Aşağıdaki sınıfa yeni bir yetenek eklendiğinde sumOfAbilities ve averageOfAbilities metotlarını değiştirmek zorunda kalmayacak şekilde sınıfı yeniden yazınız.
477
486
``` java
478
487
/* ----------------------------------------------------------------------------------------------------------------------
479
488
Problem: Aşağıdaki sınıfa yeni bir yetenek eklendiğinde sumOfAbilities ve averageOfAbilities metotlarını
@@ -573,6 +582,7 @@ class Fighter {
573
582
}
574
583
}
575
584
```
585
+ ### Problem: Aşağıdaki sınıfa yeni bir yetenek eklendiğinde sumOfAbilities ve averageOfAbilities metotlarını değiştirmek zorunda kalmayacak şekilde sınıfı yeniden yazınız.
576
586
``` java
577
587
/* ----------------------------------------------------------------------------------------------------------------------
578
588
Problem: Aşağıdaki sınıfa yeni bir yetenek eklendiğinde sumOfAbilities ve averageOfAbilities metotlarını
@@ -691,6 +701,7 @@ class Fighter {
691
701
}
692
702
}
693
703
```
704
+ ### Yerel sınıflar (local classes)
694
705
``` java
695
706
/* ----------------------------------------------------------------------------------------------------------------------
696
707
Bir metot içerisinde bildirilen sınıflara yerel sınıflar (local classes) denir. Farklı metotlar içerisinde
@@ -752,6 +763,7 @@ class Sample {
752
763
}
753
764
}
754
765
```
766
+ ### Yerel sınıf isimleri faaliyet alanı bakımından yerel değişkenler ile aynıdır
755
767
``` java
756
768
/* ----------------------------------------------------------------------------------------------------------------------
757
769
Yerel sınıf isimleri faaliyet alanı bakımından yerel değişkenler ile aynıdır
@@ -786,6 +798,7 @@ class Sample {
786
798
}
787
799
}
788
800
```
801
+ ### Aynı faaliyet alanı içerisinde aynı isimde yerel sınıf bildirimi geçersizdir
789
802
``` java
790
803
/* ----------------------------------------------------------------------------------------------------------------------
791
804
Aynı faaliyet alanı içerisinde aynı isimde yerel sınıf bildirimi geçersizdir
@@ -824,6 +837,7 @@ class Sample {
824
837
}
825
838
}
826
839
```
840
+ ### Yerel sınıflar herhangi bir blok içerisinde bildirilebilir
827
841
``` java
828
842
/* ----------------------------------------------------------------------------------------------------------------------
829
843
Yerel sınıflar herhangi bir blok içerisinde bildirilebilir
@@ -858,6 +872,7 @@ class Sample {
858
872
}
859
873
}
860
874
```
875
+ ### Yerel sınıfların erişim belirleyicisi olamaz
861
876
``` java
862
877
/* ----------------------------------------------------------------------------------------------------------------------
863
878
Yerel sınıfların erişim belirleyicisi olamaz
@@ -892,6 +907,7 @@ class Sample {
892
907
}
893
908
}
894
909
```
910
+ ### Yerel sınıflar static olarak bildirilemez
895
911
``` java
896
912
/* ----------------------------------------------------------------------------------------------------------------------
897
913
Yerel sınıflar static olarak bildirilemez
@@ -925,6 +941,7 @@ class Sample {
925
941
}
926
942
}
927
943
```
944
+ ### non-static, static ve yerel sınıflar başka bir sınıftan türetilebilir
928
945
``` java
929
946
/* ----------------------------------------------------------------------------------------------------------------------
930
947
non-static, static ve yerel sınıflar başka bir sınıftan türetilebilir
@@ -960,6 +977,7 @@ class Sample {
960
977
}
961
978
}
962
979
```
980
+ ### erel bir sınıf başka bir yerel sınıftan türetilebilir. Şüphesiz taban sınıfın türemiş sınıfın bildirildiği yerde görülebilir olması gerekir
963
981
``` java
964
982
/* ----------------------------------------------------------------------------------------------------------------------
965
983
Yerel bir sınıf başka bir yerel sınıftan türetilebilir. Şüphesiz taban sınıfın türemiş sınıfın bildirildiği
@@ -989,6 +1007,7 @@ class Sample {
989
1007
}
990
1008
}
991
1009
```
1010
+ ### Yerel bir sınıf içerisinde kendisinden önce bildirilen yerel değişkenler ve parametre değişkenleri kullanılabilir (capture)
992
1011
``` java
993
1012
/* ----------------------------------------------------------------------------------------------------------------------
994
1013
Yerel bir sınıf içerisinde kendisinden önce bildirilen yerel değişkenler ve parametre değişkenleri kullanılabilir
@@ -1025,6 +1044,7 @@ class Sample {
1025
1044
}
1026
1045
}
1027
1046
```
1047
+ ### Yerel bir sınıf içerisinde kendisinden önce bildirilen yerel değişkenler ve parametre değişkenleri kullanılabilir (capture)
1028
1048
``` java
1029
1049
/* ----------------------------------------------------------------------------------------------------------------------
1030
1050
Yerel bir sınıf içerisinde kendisinden önce bildirilen yerel değişkenler ve parametre değişkenleri kullanılabilir
@@ -1073,8 +1093,8 @@ class Sample {
1073
1093
}
1074
1094
}
1075
1095
```
1096
+ ### yerel ya da parametre değişkeni ya yakalandığında değiştirilemez, ya da değiştirilse yakalanamaz
1076
1097
``` java
1077
-
1078
1098
/* ----------------------------------------------------------------------------------------------------------------------
1079
1099
Yerel sınıflar içerisinde yakalanan yerel veya parametre değişkenleri faaliyet alanı içerisinde tek bir değer
1080
1100
alabilirler. Yani yakalanmış değişkenlerin değerleri faaliyet alanları içerisinde hiçbiryerde değiştirilemez.
@@ -1123,6 +1143,7 @@ class Sample {
1123
1143
}
1124
1144
}
1125
1145
```
1146
+ ### Yerel sınıflar içerisinde (anonim sınıflar ve lambda ifadelerinde de) sınıf veri elemanları yakalanablir ve değiştirilebilir!
1126
1147
``` java
1127
1148
/* ----------------------------------------------------------------------------------------------------------------------
1128
1149
Yerel sınıflar içerisinde (anonim sınıflar ve lambda ifadelerinde de) sınıf veri elemanları yakalanablir ve
@@ -1163,6 +1184,7 @@ class Sample {
1163
1184
}
1164
1185
}
1165
1186
```
1187
+ ### Yerel sınıflar içerisinde (anonim sınıflar ve lambda ifadelerinde de) sınıf veri elemanları yakalanablir ve değiştirilebilir
1166
1188
``` java
1167
1189
/* ----------------------------------------------------------------------------------------------------------------------
1168
1190
Yerel sınıflar içerisinde (anonim sınıflar ve lambda ifadelerinde de) sınıf veri elemanları yakalanablir ve
@@ -1205,6 +1227,7 @@ class Sample {
1205
1227
}
1206
1228
}
1207
1229
```
1230
+ ### Yerel sınıflar aşağıdaki gibi basit testlerde kullanılabilir.
1208
1231
``` java
1209
1232
/* ----------------------------------------------------------------------------------------------------------------------
1210
1233
Yerel sınıflar aşağıdaki gibi basit testlerde kullanılabilir. Şüphesiz aşağıdaki testi daha iyi yapabilecek araçlar
@@ -1270,6 +1293,7 @@ class Sample {
1270
1293
}
1271
1294
}
1272
1295
```
1296
+ ### Yerel sınıflar aşağıdaki gibi basit testlerde kullanılabilir.
1273
1297
``` java
1274
1298
/* ----------------------------------------------------------------------------------------------------------------------
1275
1299
Yerel sınıflar aşağıdaki gibi basit testlerde kullanılabilir. Şüphesiz aşağıdaki testi daha iyi yapabilecek araçlar
0 commit comments