Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f908af7

Browse files
Update JavaEE007.md
1 parent 29ff296 commit f908af7

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

‎JavaAppLesson007/JavaEE007.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
### Sınıf Çalışması: Doğum günü kutlaması
12
```java
23
/*----------------------------------------------------------------------------------------------------------------------
34
Sınıf Çalışması: Klavyeden alınan gün, ay ve yıl bilgilerine göre kişinin doğum günü geçmişse
@@ -672,6 +673,7 @@ public enum Month {
672673
JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
673674
}
674675
```
676+
### LocalDate sınıfının of metotları
675677
```java
676678
/*----------------------------------------------------------------------------------------------------------------------
677679
LocalDate sınıfının of metotları
@@ -692,6 +694,7 @@ class App {
692694
}
693695
}
694696
```
697+
### LocalDate sınıfının Month parametreli ctor elemanı
695698
```java
696699
/*----------------------------------------------------------------------------------------------------------------------
697700
LocalDate sınıfının Month parametreli ctor elemanı
@@ -713,6 +716,7 @@ class App {
713716
}
714717
}
715718
```
719+
### LocalDate sınıfı (ve tüm diğer Java 8 tarih-zaman sınıfları) geçerlilik kontrolü yapar.
716720
```java
717721
/*----------------------------------------------------------------------------------------------------------------------
718722
LocalDate sınıfı (ve tüm diğer Java 8 tarih-zaman sınıfları) geçerlilik kontrolü yapar. Bu sınıflar geçerli olmayan
@@ -735,6 +739,7 @@ class App {
735739
}
736740
}
737741
```
742+
### LocalDate sınıfının now iismli static metodu sistemin tarih bilgisini elde etmekte kullanılır
738743
```java
739744
/*----------------------------------------------------------------------------------------------------------------------
740745
LocalDate sınıfının now iismli static metodu sistemin tarih bilgisini elde etmekte kullanılır
@@ -755,6 +760,7 @@ class App {
755760
}
756761
}
757762
```
763+
### LocalDate sınıfının isAfter ve isBefore metotları
758764
```java
759765
/*----------------------------------------------------------------------------------------------------------------------
760766
LocalDate sınıfının isAfter ve isBefore metotları
@@ -777,6 +783,7 @@ class App {
777783
}
778784
}
779785
```
786+
### ChronoUnit enum sınıfı ile tarih-zaman ölçümleri yapılabilir
780787
```java
781788
/*----------------------------------------------------------------------------------------------------------------------
782789
ChronoUnit enum sınıfı ile tarih-zaman ölçümleri yapılabilir
@@ -801,6 +808,7 @@ class App {
801808
}
802809
}
803810
```
811+
### Sınıf Çalışması: Doğum günü kutlaması (2)
804812
```java
805813
/*----------------------------------------------------------------------------------------------------------------------
806814
Sınıf Çalışması: Klavyeden alınan gün, ay ve yıl bilgilerine göre kişinin doğum günü geçmişse
@@ -908,6 +916,7 @@ class BirthDateInfo {
908916
}
909917
}
910918
```
919+
### LocalDate sıfınının plusXXX metotları
911920
```java
912921
/*----------------------------------------------------------------------------------------------------------------------
913922
LocalDate sıfınının plusXXX metotları
@@ -929,6 +938,7 @@ class App {
929938
}
930939
}
931940
```
941+
### LocalDate sıfınının metotları ile zincir çağırma yapılabilir
932942
```java
933943
/*----------------------------------------------------------------------------------------------------------------------
934944
LocalDate sıfınının metotları ile zincir çağırma yapılabilir
@@ -950,6 +960,7 @@ class App {
950960
}
951961
}
952962
```
963+
### LocalTime sınıfının atDate metodu
953964
```java
954965
/*----------------------------------------------------------------------------------------------------------------------
955966
LocalTime sınıfının atDate metodu
@@ -972,6 +983,7 @@ class App {
972983
}
973984
}
974985
```
986+
### LocalDate sınıfının atTime metodu
975987
```java
976988
/*----------------------------------------------------------------------------------------------------------------------
977989
LocalDate sınıfının atTime metodu
@@ -995,6 +1007,7 @@ class App {
9951007
}
9961008
}
9971009
```
1010+
### Sınıf Çalışması
9981011
```java
9991012
/*----------------------------------------------------------------------------------------------------------------------
10001013
Sınıf Çalışması: 17.08.1999 tarihinde 03:02:00 zamanında gerçekleşmiş olan büyük depremden bu zamana kadar geçen
@@ -1036,6 +1049,7 @@ public final class BigEarthquakeRemainderApp {
10361049
}
10371050
}
10381051
```
1052+
### LocalDateTime sınıfının toLocalDate ve toLocalTime sınıfları
10391053
```java
10401054
/*----------------------------------------------------------------------------------------------------------------------
10411055
LocalDateTime sınıfının toLocalDate ve toLocalTime sınıfları
@@ -1059,6 +1073,7 @@ class App {
10591073
}
10601074
}
10611075
```
1076+
### DateTimeUtil sınıfı ve test kodu
10621077
```java
10631078
/*----------------------------------------------------------------------------------------------------------------------
10641079
DateTimeUtil sınıfı ve test kodu
@@ -1131,6 +1146,7 @@ public final class DateTimeUtil {
11311146
}
11321147
}
11331148
```
1149+
### Java'da içiçe tür bildirimleri (nested types):
11341150
```java
11351151
/*----------------------------------------------------------------------------------------------------------------------
11361152
Java'da içiçe tür bildirimleri (nested types):
@@ -1145,11 +1161,13 @@ public final class DateTimeUtil {
11451161
yapılabilmesini sağlayan "Lambda ifadeleri ve metot referansları" konusu ileride detaylı olarak ele alınacaktır
11461162
----------------------------------------------------------------------------------------------------------------------*/
11471163
```
1164+
### Hiç bir tür içerisinde bulunmayan bir sınıfa "top-level class" denir
11481165
```java
11491166
/*----------------------------------------------------------------------------------------------------------------------
11501167
Hiç bir tür içerisinde bulunmayan bir sınıfa "top-level class" denir
11511168
----------------------------------------------------------------------------------------------------------------------*/
11521169
```
1170+
### Top-level class'lar static olarak bildirilemez
11531171
```java
11541172
/*----------------------------------------------------------------------------------------------------------------------
11551173
Top-level class'lar static olarak bildirilemez
@@ -1159,6 +1177,7 @@ static class Sample { //error
11591177
}
11601178

11611179
```
1180+
### Bir sınıf içerisinde başka bir sınıf static olarak bildirilebilir.
11621181
```java
11631182
/*----------------------------------------------------------------------------------------------------------------------
11641183
Bir sınıf içerisinde başka bir sınıf static olarak bildirilebilir. Bu durumda içteki sınıf dıştaki sınıfın bir
@@ -1186,6 +1205,7 @@ class A {
11861205
}
11871206
}
11881207
```
1208+
### static sınıfların da elemanları olabilir.
11891209
```java
11901210
/*----------------------------------------------------------------------------------------------------------------------
11911211
static sınıfların da elemanları olabilir. static bir sınıfa sınıf dışından onu kapsayan sınıf ismi ve nokta
@@ -1222,6 +1242,7 @@ class A {
12221242

12231243
}
12241244
```
1245+
### static sınıflar static elemanlar olduğundan import static bildirimi ile isimleri doğrudan kullanılabilir.
12251246
```java
12261247
/*----------------------------------------------------------------------------------------------------------------------
12271248
static sınıflar static elemanlar olduğundan import static bildirimi ile isimleri doğrudan kullanılabilir.
@@ -1258,6 +1279,7 @@ class A {
12581279
}
12591280
}
12601281
```
1282+
### Kapsayan sınıfta static sınıfın elemanlarına erişilebilir
12611283
```java
12621284
/*----------------------------------------------------------------------------------------------------------------------
12631285
Kapsayan sınıfta static sınıfın elemanlarına erişilebilir
@@ -1299,6 +1321,7 @@ class A {
12991321
}
13001322
}
13011323
```
1324+
### Kapsayan sınıfta static sınıfın private elemanlarına da erişilebilir
13021325
```java
13031326
/*----------------------------------------------------------------------------------------------------------------------
13041327
Kapsayan sınıfta static sınıfın private elemanlarına da erişilebilir
@@ -1340,6 +1363,7 @@ class A {
13401363
}
13411364
}
13421365
```
1366+
### static sınıf kapsayan sınıfın private elemanlarına erişebilir
13431367
```java
13441368
/*----------------------------------------------------------------------------------------------------------------------
13451369
static sınıf kapsayan sınıfın private elemanlarına erişebilir
@@ -1385,6 +1409,7 @@ class A {
13851409
}
13861410
}
13871411
```
1412+
### Aşağıdaki durumda B sınıfının foo metodu kendisini çağırdığından exception oluşur
13881413
```java
13891414
/*----------------------------------------------------------------------------------------------------------------------
13901415
Aşağıdaki durumda B sınıfının foo metodu kendisini çağırdığından exception oluşur
@@ -1415,6 +1440,7 @@ class A {
14151440
}
14161441
}
14171442
```
1443+
### Yukarıdaki problem aşağıdaki gibi çözülebilir
14181444
```java
14191445
/*----------------------------------------------------------------------------------------------------------------------
14201446
Yukarıdaki problem aşağıdaki gibi çözülebilir
@@ -1445,6 +1471,7 @@ class A {
14451471
}
14461472
}
14471473
```
1474+
### Aşağıdaki bar çağrısı doğrudan yapılmıştır.
14481475
```java
14491476
/*----------------------------------------------------------------------------------------------------------------------
14501477
Aşağıdaki bar çağrısı doğrudan yapılmıştır. Bu durumda bar ismi B sınıfında bulunmadığından onu kapsayan A sınıfına
@@ -1476,6 +1503,7 @@ class A {
14761503
}
14771504
}
14781505
```
1506+
### Android programalamada kullanılan meşhur R sınıfı
14791507
```java
14801508
/*----------------------------------------------------------------------------------------------------------------------
14811509
Android programalamada kullanılan meşhur R sınıfı, içerisinde static bildirilmiş sınıflar olacak şekilde
@@ -1545,6 +1573,7 @@ class R {
15451573
//...
15461574
}
15471575
```
1576+
### Bir sınıf içerisinde non-static bildirilmiş bir sınıf olabilir (inner class)
15481577
```java
15491578
/*----------------------------------------------------------------------------------------------------------------------
15501579
Bir sınıf içerisinde non-static bildirilmiş bir sınıf olabilir (inner class)
@@ -1557,6 +1586,7 @@ class A {
15571586
}
15581587
}
15591588
```
1589+
### inner class'ın static elemanları olamaz
15601590
```java
15611591
/*----------------------------------------------------------------------------------------------------------------------
15621592
inner class'ın static elemanları olamaz
@@ -1571,6 +1601,7 @@ class A {
15711601
}
15721602
}
15731603
```
1604+
### inner class türünden bir nesne kapsadığı sınıf dışında referans.new sentaksı ile yaratılabilir.
15741605
```java
15751606
/*----------------------------------------------------------------------------------------------------------------------
15761607
inner class türünden bir nesne kapsadığı sınıf dışında <referans>.new sentaksı ile yaratılabilir. Yani bir inner class
@@ -1602,6 +1633,7 @@ class A {
16021633
}
16031634
}
16041635
```
1636+
### non-static bildirilmiş bir sınıf içerisinde o nesnenin ilişkin olduğu kapsayan sınıf nesnesinin non-static veri elemanlarına doğrudan erişilebilir
16051637
```java
16061638
/*----------------------------------------------------------------------------------------------------------------------
16071639
non-static bildirilmiş bir sınıf içerisinde o nesnenin ilişkin olduğu kapsayan sınıf nesnesinin non-static veri
@@ -1640,6 +1672,7 @@ class A {
16401672
}
16411673
}
16421674
```
1675+
### Anahtar Notlar: static ve non-static sınıflar için derleyici ürettiği arakod isimlendirmesinde kapsayan sınıf ismini de dahil eder.
16431676
```java
16441677
/*----------------------------------------------------------------------------------------------------------------------
16451678
Anahtar Notlar: static ve non-static sınıflar için derleyici ürettiği arakod isimlendirmesinde kapsayan sınıf
@@ -1653,6 +1686,7 @@ class A {
16531686
bildirimi için B ister static ister non-static olsun, B'nin byte kodu A$B.class dosyası biçiminde yaratılır
16541687
----------------------------------------------------------------------------------------------------------------------*/
16551688
```
1689+
### inner class içerisinde A nın static metotları da doğrudan çağrılabilir
16561690
```java
16571691
/*----------------------------------------------------------------------------------------------------------------------
16581692
inner class içerisinde A nın static metotları da doğrudan çağrılabilir
@@ -1683,6 +1717,7 @@ class A {
16831717
}
16841718
}
16851719
```
1720+
### Aşağıdaki örnekte B'nin foo metodu içerisinde kendisini çağırmaması için A sınıfının foo metodu çağrısında sınıf ismi kullanılmıştır
16861721
```java
16871722
/*----------------------------------------------------------------------------------------------------------------------
16881723
Aşağıdaki örnekte B'nin foo metodu içerisinde kendisini çağırmaması için A sınıfının foo metodu
@@ -1714,6 +1749,7 @@ class A {
17141749
}
17151750
}
17161751
```
1752+
### Tekrar: "non-static bir metoda metodu çağırmakta kullanılan referans gizlice geçirilir"
17171753
```java
17181754
/*----------------------------------------------------------------------------------------------------------------------
17191755
Tekrar: Arakod düzeyinde non-stati metot kavramı doğrudan yoktur. Tüm metotlar static metotlara dönüştürülür.
@@ -1755,6 +1791,7 @@ class Sample {
17551791
}
17561792
}
17571793
```
1794+
### Tekrar: İşte yukarıda belirtilen gizlice geçirilen adrese non-static metot içerisinde this referansı ile erişilebilir
17581795
```java
17591796
/*----------------------------------------------------------------------------------------------------------------------
17601797
Tekrar: İşte yukarıda belirtilen gizlice geçirilen adrese non-static metot içerisinde this referansı ile
@@ -1785,6 +1822,7 @@ class Sample {
17851822
}
17861823
}
17871824
```
1825+
### Tekrar: this referansını okunabilirliği bozmamak kaydıyla non-static metot çağrılarında kullanılmalıdır.
17881826
```java
17891827
/*----------------------------------------------------------------------------------------------------------------------
17901828
Tekrar: this referansını okunabilirliği bozmamak kaydıyla non-static metot çağrılarında kullanılmalıdır. Bu durumda
@@ -1821,6 +1859,7 @@ class Sample {
18211859
}
18221860
}
18231861
```
1862+
### Tekrar: Aşağıdaki durumda this referansı kullanımı zorunludur
18241863
```java
18251864
/*----------------------------------------------------------------------------------------------------------------------
18261865
Tekrar: Aşağıdaki durumda this referansı kullanımı zorunludur
@@ -1848,6 +1887,7 @@ class Point {
18481887
}
18491888
}
18501889
```
1890+
### Aşağıdaki örnekte foo metodunun içerisinde this referansı B sınıfı türünden olduğundan error oluşur
18511891
```java
18521892
/*----------------------------------------------------------------------------------------------------------------------
18531893
Aşağıdaki örnekte foo metodunun içerisinde this referansı B sınıfı türünden olduğundan error oluşur
@@ -1877,6 +1917,7 @@ class A {
18771917
}
18781918
}
18791919
```
1920+
### Yukarıdaki durumdan dolayı aşağıdaki çağırmada exception oluşur (StackOverflowException)
18801921
```java
18811922
/*----------------------------------------------------------------------------------------------------------------------
18821923
Yukarıdaki durumdan dolayı aşağıdaki çağırmada exception oluşur (StackOverflowException)
@@ -1909,6 +1950,7 @@ class A {
19091950
}
19101951
}
19111952
```
1953+
### this expression'ın genel biçimi
19121954
```java
19131955
/*----------------------------------------------------------------------------------------------------------------------
19141956
this expression'ın genel biçimi
@@ -1948,6 +1990,7 @@ class A {
19481990
}
19491991
}
19501992
```
1993+
### Aşağıdaki örnekte makeText metoduna foo içerisinde ilgili B nesnesinin yaratılmasında kullanılan A nesnesinin referansının geçirilmesi gerektiğinden this expression kullanılmalıdır
19511994
```java
19521995
/*----------------------------------------------------------------------------------------------------------------------
19531996
Aşağıdaki örnekte makeText metoduna foo içerisinde ilgili B nesnesinin yaratılmasında kullanılan A nesnesinin
@@ -1979,6 +2022,7 @@ class A {
19792022
}
19802023
}
19812024
```
2025+
### Aşağıdaki örnekte bellek sızıntısı (memory leak) oluşur.
19822026
```java
19832027
/*----------------------------------------------------------------------------------------------------------------------
19842028
Aşağıdaki örnekte bellek sızıntısı (memory leak) oluşur. İleride böyle bir senaryoda bellek sızıntısı durumunun

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /