1
+ ### Nitelikli ve niteliksiz genel isim arama kurallarına göre bir isim ilgili sınıfta bulunamazsa taban sınıflara da bakılır.
1
2
``` java
2
3
/* ----------------------------------------------------------------------------------------------------------------------
3
4
19.09.2020
@@ -32,6 +33,7 @@ class A {
32
33
}
33
34
}
34
35
```
36
+ ### sınıfın protected bölümü aynı paketteki diğer sınıflar için public'dir
35
37
``` java
36
38
/* ----------------------------------------------------------------------------------------------------------------------
37
39
Hatırlanacağı gibi sınıfın protected bölümü aynı paketteki diğer sınıflar için public'dir
@@ -69,6 +71,7 @@ class A {
69
71
}
70
72
}
71
73
```
74
+ ### sınıf içerisinde sınıfın her bölümüne erişilebilir
72
75
``` java
73
76
/* ----------------------------------------------------------------------------------------------------------------------
74
77
Hatırlanacağı gibi sınıf içerisinde sınıfın her bölümüne erişilebilir
@@ -102,6 +105,7 @@ class A {
102
105
}
103
106
}
104
107
```
108
+ ### protected bölüme türemiş sınıflar aşağıdaki gibi erişemez
105
109
``` java
106
110
/* ----------------------------------------------------------------------------------------------------------------------
107
111
protected bölüme türemiş sınıflar aşağıdaki gibi erişemez
@@ -136,6 +140,7 @@ public class A {
136
140
}
137
141
}
138
142
```
143
+ ### Türemiş sınıf içerisinde kendisine ait olan taban sınıf bölümünün protected elemanlarına erişilebilir.
139
144
``` java
140
145
/* ----------------------------------------------------------------------------------------------------------------------
141
146
Türemiş sınıf içerisinde kendisine ait olan taban sınıf bölümünün protected elemanlarına erişilebilir. Yani türemiş
@@ -174,6 +179,7 @@ public class A {
174
179
}
175
180
}
176
181
```
182
+ ### AnalyticalCircle sınıfı ve test kodu (1)
177
183
``` java
178
184
/* ----------------------------------------------------------------------------------------------------------------------
179
185
AnalyticalCircle sınıfı ve test kodu
@@ -194,6 +200,7 @@ class App {
194
200
}
195
201
}
196
202
```
203
+ ### AnalyticalCircle sınıfı ve test kodu (2)
197
204
``` java
198
205
/* ----------------------------------------------------------------------------------------------------------------------
199
206
AnalyticalCircle sınıfı ve test kodu
@@ -214,6 +221,7 @@ class App {
214
221
}
215
222
}
216
223
```
224
+ ### AnalyticalCircle sınıfı ve test kodu (3)
217
225
``` java
218
226
/* ----------------------------------------------------------------------------------------------------------------------
219
227
AnalyticalCircle sınıfı ve test kodu
@@ -234,6 +242,7 @@ class App {
234
242
}
235
243
}
236
244
```
245
+ ### AnalyticalCircle sınıfı ve test kodu (4)
237
246
``` java
238
247
/* ----------------------------------------------------------------------------------------------------------------------
239
248
AnalyticalCircle sınıfı ve test kodu
@@ -254,6 +263,7 @@ class App {
254
263
}
255
264
}
256
265
```
266
+ ### AnalyticalCircle sınıfı ve test kodu (5)
257
267
``` java
258
268
/* ----------------------------------------------------------------------------------------------------------------------
259
269
AnalyticalCircle sınıfı ve test kodu
@@ -290,6 +300,7 @@ class App {
290
300
}
291
301
292
302
```
303
+ ### AnalyticalCircle sınıfı ve test kodu (6)
293
304
``` java
294
305
/* ----------------------------------------------------------------------------------------------------------------------
295
306
AnalyticalCircle sınıfı ve test kodu
@@ -318,7 +329,8 @@ class App {
318
329
System . out. printf(" {x:%d, y:%d}%n" , analyticalCircle. getX(), analyticalCircle. getY());
319
330
}
320
331
}
321
- ```
332
+ ```
333
+ ### AnalyticalCircle sınıfı ve test kodu (7)
322
334
``` java
323
335
/* ----------------------------------------------------------------------------------------------------------------------
324
336
AnalyticalCircle sınıfı ve test kodu:
@@ -348,6 +360,7 @@ class App {
348
360
}
349
361
}
350
362
```
363
+ ### AnalyticalCircle sınıfı ve test kodu (8)
351
364
``` java
352
365
/* ----------------------------------------------------------------------------------------------------------------------
353
366
AnalyticalCircle sınıfı ve test kodu
@@ -366,6 +379,7 @@ class App {
366
379
}
367
380
}
368
381
```
382
+ ### Circle sınıfı
369
383
``` java
370
384
/* ----------------------------------------------------------------------------------------------------------------------
371
385
Circle sınıfı
@@ -459,6 +473,7 @@ public class AnalyticalCircle extends Circle {
459
473
}
460
474
}
461
475
```
476
+ ### Point sınıfı
462
477
``` java
463
478
/* ----------------------------------------------------------------------------------------------------------------------
464
479
Point sınıfı
@@ -519,6 +534,7 @@ public class Point {
519
534
}
520
535
}
521
536
```
537
+ ### Time sınıfı ve test kodu
522
538
``` java
523
539
/* ----------------------------------------------------------------------------------------------------------------------
524
540
Time sınıfı ve test kodu
@@ -538,6 +554,7 @@ class App {
538
554
}
539
555
}
540
556
```
557
+ ### Time sınıfı
541
558
``` java
542
559
/* ----------------------------------------------------------------------------------------------------------------------
543
560
Time sınıfı
@@ -731,6 +748,7 @@ public class Time {
731
748
}
732
749
}
733
750
```
751
+ ### Date sınıfı ve test kodu
734
752
``` java
735
753
/* ----------------------------------------------------------------------------------------------------------------------
736
754
Date sınıfı ve test kodu
@@ -752,6 +770,7 @@ class App {
752
770
}
753
771
}
754
772
```
773
+ ### Date sınıfı
755
774
``` java
756
775
/* ----------------------------------------------------------------------------------------------------------------------
757
776
Date sınıfı
@@ -1039,6 +1058,7 @@ public class Date {
1039
1058
}
1040
1059
1041
1060
```
1061
+ ### Aralarında türetme ilişkisi olmayan iki sınıf türünden referans birbirine tür dönüştürme operatörü kullanılarak bile atanamaz
1042
1062
``` java
1043
1063
/* ----------------------------------------------------------------------------------------------------------------------
1044
1064
Aralarında türetme ilişkisi olmayan iki sınıf türünden referans birbirine tür dönüştürme operatörü kullanılarak
@@ -1065,8 +1085,8 @@ class A {
1065
1085
1066
1086
}
1067
1087
```
1088
+ ### yukarıya doğru dönüşüm (upcasting)
1068
1089
``` java
1069
-
1070
1090
/* ----------------------------------------------------------------------------------------------------------------------
1071
1091
Türemiş sınıf türünden bir referans taban sınıf türünden bir referansa doğrudan (implicit) atanabilir. Buna
1072
1092
yukarıya doğru dönüşüm (upcasting) denir
@@ -1092,6 +1112,7 @@ class A {
1092
1112
1093
1113
}
1094
1114
```
1115
+ ### Yukarıya doğru dönüşümde taban sınıf referansına türemiş sınıf referansına ilişkin nesnenin taban sınıf bölümünün adresi atanır.
1095
1116
``` java
1096
1117
/* ----------------------------------------------------------------------------------------------------------------------
1097
1118
Yukarıya doğru dönüşümde taban sınıf referansına türemiş sınıf referansına ilişkin nesnenin taban sınıf bölümünün
@@ -1126,6 +1147,7 @@ class A {
1126
1147
// ...
1127
1148
}
1128
1149
```
1150
+ ### Aşağıdaki örnekte doWork metodu yalnızca A sınıfına bağımlı (dependency) olarak yazılmıştır.
1129
1151
``` java
1130
1152
/* ----------------------------------------------------------------------------------------------------------------------
1131
1153
Aşağıdaki örnekte doWork metodu yalnızca A sınıfına bağımlı (dependency) olarak yazılmıştır. Bu metot A sınıfından
@@ -1180,6 +1202,7 @@ class A {
1180
1202
// ...
1181
1203
}
1182
1204
```
1205
+ ### CompanyApp uygulaması
1183
1206
``` java
1184
1207
/* ----------------------------------------------------------------------------------------------------------------------
1185
1208
20.09.2020
@@ -1369,6 +1392,7 @@ public class SalesManager extends Manager {
1369
1392
}
1370
1393
}
1371
1394
```
1395
+ ### Static ve Dinamik referans türleri
1372
1396
``` java
1373
1397
/* ----------------------------------------------------------------------------------------------------------------------
1374
1398
Bir referansın iki tane türü vardır: statik, dinamik
@@ -1408,6 +1432,7 @@ class A {
1408
1432
1409
1433
}
1410
1434
```
1435
+ ### Aşağıdaki örnekte x'in dinamik türünün değişimi gösterilmiştir
1411
1436
``` java
1412
1437
/* ----------------------------------------------------------------------------------------------------------------------
1413
1438
Aşağıdaki örnekte x'in dinamik türünün değişimi gösterilmiştir
@@ -1439,6 +1464,7 @@ class A {
1439
1464
1440
1465
}
1441
1466
```
1467
+ ### Aşağıdaki örnekte x'in dinamik türünün değişimi gösterilmiştir
1442
1468
``` java
1443
1469
/* ----------------------------------------------------------------------------------------------------------------------
1444
1470
Aşağıdaki örnekte x'in dinamik türünün değişimi gösterilmiştir
@@ -1479,6 +1505,7 @@ class A {
1479
1505
1480
1506
}
1481
1507
```
1508
+ ### Aşağıdaki örnekte z'nin dinamik türü C olmuştur
1482
1509
``` java
1483
1510
/* ----------------------------------------------------------------------------------------------------------------------
1484
1511
Aşağıdaki örnekte z'nin dinamik türü C olmuştur
@@ -1511,6 +1538,7 @@ class A {
1511
1538
1512
1539
}
1513
1540
```
1541
+ ### ir dizi referansının dinamik türü JNI (Java Native Interface) tür ismi olarak yazdırılır.
1514
1542
``` java
1515
1543
/* ----------------------------------------------------------------------------------------------------------------------
1516
1544
Anahtar Notlar: Bir dizi referansının dinamik türü JNI (Java Native Interface) tür ismi olarak
@@ -1529,6 +1557,7 @@ class App {
1529
1557
}
1530
1558
}
1531
1559
```
1560
+ ### Aşağıya doğru dönüşüm(downcasting), haklı ve haksız dönüşüm kavramları
1532
1561
``` java
1533
1562
/* ----------------------------------------------------------------------------------------------------------------------
1534
1563
Taban sınıf türünden bir referans türemiş sınıf türünden bir referansa doğrudan atanamaz. Bu işlem
@@ -1571,6 +1600,7 @@ class A {
1571
1600
public int a;
1572
1601
}
1573
1602
```
1603
+ ### downcasting işlemi
1574
1604
``` java
1575
1605
/* ----------------------------------------------------------------------------------------------------------------------
1576
1606
downcasting işlemi
@@ -1616,6 +1646,7 @@ class A {
1616
1646
}
1617
1647
1618
1648
```
1649
+ ### Object sınıfı her sınıfın doğrudan ya da dolaylı olarak taban sınıfı olduğundan her türden referans Object referansına atanabilir.
1619
1650
``` java
1620
1651
/* ----------------------------------------------------------------------------------------------------------------------
1621
1652
Object sınıfı her sınıfın doğrudan ya da dolaylı olarak taban sınıfı olduğundan her türden referans
@@ -1653,6 +1684,7 @@ class App {
1653
1684
}
1654
1685
}
1655
1686
```
1687
+ ### Aşağdaki örnekte Object dizisinin referanslarının dinamik türüne göre downcasting yapılmıştır.
1656
1688
``` java
1657
1689
/* ----------------------------------------------------------------------------------------------------------------------
1658
1690
Aşağdaki örnekte Object dizisinin referanslarının dinamik türüne göre downcasting yapılmıştır.
@@ -1724,6 +1756,7 @@ public class RandomObjectArrayGeneratorApp {
1724
1756
}
1725
1757
1726
1758
```
1759
+ ### Aşağdaki örnekte programcının tür ismini yanlış yazma olasılığı neredeyse kalmasa da hala yazı karşılaştırması yapılmaktadır
1727
1760
``` java
1728
1761
/* ----------------------------------------------------------------------------------------------------------------------
1729
1762
Aşağdaki örnekte programcının tür ismini yanlış yazma olasılığı neredeyse kalmasa da hala yazı karşılaştırması
@@ -1805,6 +1838,7 @@ public class TypeInfo {
1805
1838
public static final String INT_ARRAY = " [I" ;
1806
1839
}
1807
1840
```
1841
+ ### instanceof operatörü iki operandlı (binary), araek (infix) bir operatördür.
1808
1842
``` java
1809
1843
/* ----------------------------------------------------------------------------------------------------------------------
1810
1844
instanceof operatörü iki operandlı (binary), araek (infix) bir operatördür. instanceof operatörünün birinci
@@ -1939,6 +1973,7 @@ public class RandomObjectArrayGenerator {
1939
1973
}
1940
1974
}
1941
1975
```
1976
+ ### instanceof operatörü ikinci operandına ilişkin türü kapsayıp kapsamadığına bakar
1942
1977
``` java
1943
1978
/* ----------------------------------------------------------------------------------------------------------------------
1944
1979
instanceof operatörü ikinci operandına ilişkin türü kapsayıp kapsamadığına bakar
@@ -1996,6 +2031,7 @@ class A {
1996
2031
}
1997
2032
1998
2033
```
2034
+ ### Sarmalayan Sınıflar (wrapper classes)
1999
2035
``` java
2000
2036
/* ----------------------------------------------------------------------------------------------------------------------
2001
2037
Sarmalayan Sınıflar (wrapper classes): Java'da her temel (built-in) türe karşılık bir sınıf getirilmiştir. Bunun
@@ -2028,6 +2064,7 @@ class A {
2028
2064
bu ctor'lar artık hiç kullanılmamalıdır. Bunun nedeni ileride ele alınacaktır
2029
2065
----------------------------------------------------------------------------------------------------------------------*/
2030
2066
```
2067
+ ### sarmalayan sınıfların MIN_VALUE ve MAX_VALUE isimli final static veri elemanları
2031
2068
``` java
2032
2069
/* ----------------------------------------------------------------------------------------------------------------------
2033
2070
Tamsayı, gerçek sayı ve char türlerine ilişkin sarmalayan sınıfların MIN_VALUE ve MAX_VALUE isimli final static
@@ -2050,6 +2087,7 @@ class App {
2050
2087
}
2051
2088
}
2052
2089
```
2090
+ ### sarmalayan sınıfların SIZE isimli final ve static veri elemanları
2053
2091
``` java
2054
2092
/* ----------------------------------------------------------------------------------------------------------------------
2055
2093
Boolean sınıfı haricindeki tüm sarmalayan sınıfların SIZE isimli final ve static veri elemanları ilgili
@@ -2073,6 +2111,7 @@ class App {
2073
2111
2074
2112
}
2075
2113
```
2114
+ ### sarmalayan sınıfların BYTES isimli final ve static veri elemanları
2076
2115
``` java
2077
2116
/* ----------------------------------------------------------------------------------------------------------------------
2078
2117
Boolean sınıfı haricindeki tüm sarmalayan sınıfların BYTES isimli final ve static veri elemanları ilgili
@@ -2096,6 +2135,7 @@ class App {
2096
2135
2097
2136
}
2098
2137
```
2138
+ ### nümeric türlerin parseXXX metotları ile bir yazıdan ilgili türe ilişkin değer elde edilebilir.
2099
2139
``` java
2100
2140
/* ----------------------------------------------------------------------------------------------------------------------
2101
2141
Bilindiği gibi nümeric türlerin parseXXX metotları ile bir yazıdan ilgili türe ilişkin değer elde edilebilir.
@@ -2120,6 +2160,7 @@ class App {
2120
2160
}
2121
2161
}
2122
2162
```
2163
+ ### Integer sınıfının radix (sayı sistemi) parametreli parseInt metodu
2123
2164
``` java
2124
2165
/* ----------------------------------------------------------------------------------------------------------------------
2125
2166
Integer sınıfının radix (sayı sistemi) parametreli parseInt metodu
@@ -2142,6 +2183,7 @@ class App {
2142
2183
}
2143
2184
}
2144
2185
```
2186
+ ### Aşağıdaki örnekte substring ve parseInt metotları kullanılarak yazı içerisindeki not bilgisi elde edilmiştir.
2145
2187
``` java
2146
2188
/* ----------------------------------------------------------------------------------------------------------------------
2147
2189
Aşağıdaki örnekte substring ve parseInt metotları kullanılarak yazı içerisindeki not bilgisi elde edilmiştir.
@@ -2180,6 +2222,7 @@ class App {
2180
2222
}
2181
2223
2182
2224
```
2225
+ ### Yuklarıdaki örnekte indeksler bulundak sonra sayıya çevirme işlemi Java 9 ile birlikte eklenen parseInt metodu ile çok daha kolay bir biçimde yapılabilir.
2183
2226
``` java
2184
2227
/* ----------------------------------------------------------------------------------------------------------------------
2185
2228
Yuklarıdaki örnekte indeksler bulundak sonra sayıya çevirme işlemi Java 9 ile birlikte eklenen parseInt
0 commit comments