1+ ### Farklı enum'lar için equals metodu false değerini döndürür  
12``` java 
23/* ----------------------------------------------------------------------------------------------------------------------
34	12.09.2020 
@@ -20,6 +21,7 @@ class App {
2021enum  Color  {RED , GREEN , BLUE }
2122enum  MartialStatus  {MARRIED , SINGLE , DIVORCED }
2223``` 
24+ ### Aynı durum compareTo metodu için geçerli değildir.  
2325``` java 
2426/* ----------------------------------------------------------------------------------------------------------------------
2527	Aynı durum compareTo metodu için geçerli değildir. Çünkü compareTo metodunun parametresi aynı enum türündendir 
@@ -39,6 +41,7 @@ class App {
3941enum  Color  {RED , GREEN , BLUE }
4042enum  MartialStatus  {MARRIED , SINGLE , DIVORCED }
4143``` 
44+ ### enum türleri switch deyimi ile de kullanılabilmektedir.  
4245``` java 
4346/* ----------------------------------------------------------------------------------------------------------------------
4447	enum türleri switch deyimi ile de kullanılabilmektedir. Bu durumda case bölümlerine ilişkin sabitler şüphesiz 
@@ -76,6 +79,7 @@ class App {
7679
7780enum  MaritalStatus  {MARRIED , SINGLE , DIVORCED }
7881``` 
82+ ### Aşağıdaki örnekte split metodu daha kolay kullanılır hale getirilmiştir.  
7983``` java 
8084/* ----------------------------------------------------------------------------------------------------------------------
8185	Aşağıdaki örnekte split metodu daha kolay kullanılır hale getirilmiştir. İlgili metot StringUtil sınıfına da 
@@ -115,6 +119,7 @@ class Util {
115119	}
116120}
117121``` 
122+ ### Sınıflararası ilişkiler: (İçerme (composition), Birleşme (aggregation),Çağrışım (association),Kalıtım/Türetme (inheritance))  
118123``` java 
119124/* ----------------------------------------------------------------------------------------------------------------------
120125	Sınıflararası ilişkiler: Sınıflararası ilişkiler aslında nesneler arasındaki ilişkisi temsil eder. Örneğin araba 
@@ -160,6 +165,7 @@ class Util {
160165	ortada yine bir bağımlılık (dependency) söz konusudur. Bu da yine genel durumu bozmaz. 
161166----------------------------------------------------------------------------------------------------------------------*/  
162167``` 
168+ ### A ile B arasındaki composition ilişkisinin genel biçimi  
163169``` java 
164170/* ----------------------------------------------------------------------------------------------------------------------
165171	A ile B arasındaki composition ilişkisinin genel biçimi 
@@ -208,6 +214,7 @@ class B {
208214	}
209215}
210216``` 
217+ ### Car, Plane ve Engine sınıfları arasındaki ilişkiler  
211218``` java 
212219/* ----------------------------------------------------------------------------------------------------------------------
213220	Car, Plane ve Engine sınıfları arasındaki ilişkiler 
@@ -324,6 +331,7 @@ class Engine {
324331	// ...
325332}
326333``` 
334+ ### A ile B arasındaki aggregation ilişkisinin genel biçimi  
327335``` java 
328336/* ----------------------------------------------------------------------------------------------------------------------
329337	A ile B arasındaki aggregation ilişkisinin genel biçimi 
@@ -388,6 +396,7 @@ class B {
388396	}
389397}
390398``` 
399+ ### Command ile Connection sınıfları arasındaki aggregation ilişkisi  
391400``` java 
392401/* ----------------------------------------------------------------------------------------------------------------------
393402	Command ile Connection sınıfları arasındaki aggregation ilişkisi 
@@ -482,6 +491,7 @@ class Connection {
482491	}
483492}
484493``` 
494+ ### A ile B arasındaki association ilişkisinin genel biçimi  
485495``` java 
486496/* ----------------------------------------------------------------------------------------------------------------------
487497	A ile B arasındaki association ilişkisinin genel biçimi 
@@ -519,6 +529,7 @@ class B {
519529	}
520530}
521531``` 
532+ ### Taxi, Driver ve Client sınıfları arasındaki ilişkiler  
522533``` java 
523534/* ----------------------------------------------------------------------------------------------------------------------
524535	Taxi, Driver ve Client sınıfları arasındaki ilişkiler 
@@ -567,6 +578,7 @@ class Client {
567578	// ...
568579}
569580``` 
581+ ### String sınıfı immutable olduğundan aşağıadaki ilişki ne aggregation ne de composition'dır.  
570582``` java 
571583/* ----------------------------------------------------------------------------------------------------------------------
572584	13.09.2020 
@@ -629,6 +641,7 @@ class Person {
629641	}
630642}
631643``` 
644+ ## Türetme (inheritance)  
632645``` java 
633646/* ----------------------------------------------------------------------------------------------------------------------
634647 Türetme (inheritance) kavramı programlamada bir sınıfı genişletmek (extension) için kullanılır. Bu genişletme 
@@ -661,9 +674,10 @@ class Person {
661674 İngilizce olarak mottosu "Open for extension closed for modification" dır. 
662675----------------------------------------------------------------------------------------------------------------------*/  
663676``` 
677+ ### Java'da türetme extends anahtar sözcüğü ile aşağıdaki gibi yapılır  
664678``` java 
665679/* ----------------------------------------------------------------------------------------------------------------------
666- 	Java'da türetme extends anahtar sözcüğü ile aşğıdaki  gibi yapılır 
680+ 	Java'da türetme extends anahtar sözcüğü ile aşağıdaki  gibi yapılır 
667681----------------------------------------------------------------------------------------------------------------------*/  
668682package  org.csystem.app ;
669683
@@ -690,6 +704,7 @@ class A {
690704	// ...
691705}
692706``` 
707+ ### Taban sınıfın metotları türemiş sınıfa da aktarılır.  
693708``` java 
694709/* ----------------------------------------------------------------------------------------------------------------------
695710	Taban sınıfın metotları türemiş sınıfa da aktarılır. Aşağıdaki örnekte foo ve bar metotları B sınıfında da vardır. 
@@ -727,6 +742,7 @@ class A {
727742	}
728743}
729744``` 
745+ ### Bir dizi türetme durumu  
730746``` java 
731747/* ----------------------------------------------------------------------------------------------------------------------
732748	Bir dizi türetme durumu 
@@ -771,6 +787,7 @@ class A {
771787	}
772788}
773789``` 
790+ ### Türemiş sınıf referansı ile taban sınıfın non-static bir veri elemanına erişilebilir.  
774791``` java 
775792/* ----------------------------------------------------------------------------------------------------------------------
776793	Türemiş sınıf referansı ile taban sınıfın non-static bir veri elemanına erişilebilir. Yani taban sınıfın non-static 
@@ -802,6 +819,7 @@ class A {
802819	public  int  x;
803820}
804821``` 
822+ ### Bir dizi türetme durumu  
805823``` java 
806824/* ----------------------------------------------------------------------------------------------------------------------
807825	Bir dizi türetme durumu 
@@ -835,6 +853,7 @@ class A {
835853	public  int  x;
836854}
837855``` 
856+ ### Türemiş sınıf nesnesinin yaratılması aşamasında ctor çağrısından önce taban sınıfın ctor'u çağrılır.  
838857``` java 
839858/* ----------------------------------------------------------------------------------------------------------------------
840859	Türemiş sınıf nesnesinin yaratılması aşamasında ctor çağrısından önce taban sınıfın ctor'u çağrılır. Herhangi bir 
@@ -872,6 +891,7 @@ class A {
872891	}
873892}
874893``` 
894+ ### Aşağıdaki örnekte A'nın default ctor'u private olduğundan B sınıfının bildiriminde error oluşur  
875895``` java 
876896/* ----------------------------------------------------------------------------------------------------------------------
877897	Aşağıdaki örnekte A'nın default ctor'u private olduğundan B sınıfının bildiriminde error oluşur 
@@ -904,6 +924,7 @@ class A {
904924	}
905925}
906926``` 
927+ ### Aşağıdaki örnekte A'nın default ctor'u olmadığından B sınıfının bildiriminde error oluşur  
907928``` java 
908929/* ----------------------------------------------------------------------------------------------------------------------
909930	Aşağıdaki örnekte A'nın default ctor'u olmadığından B sınıfının bildiriminde error oluşur 
@@ -936,6 +957,7 @@ class A {
936957	}
937958}
938959``` 
960+ ### Türemiş sınıfı yazan programcı super ctor sentaksı ile türemiş sınıfın istenilen ctor'unun çağrılmasını sağlayabilir.  
939961``` java 
940962/* ----------------------------------------------------------------------------------------------------------------------
941963	Türemiş sınıfı yazan programcı super ctor sentaksı ile türemiş sınıfın istenilen ctor'unun çağrılmasını 
@@ -978,6 +1000,7 @@ class A {
9781000	}
9791001}
9801002``` 
1003+ ### super ctor sentaksı ctor'un ilk deyimi olmalıdır  
9811004``` java 
9821005/* ----------------------------------------------------------------------------------------------------------------------
9831006	super ctor sentaksı ctor'un ilk deyimi olmalıdır 
@@ -1018,6 +1041,7 @@ class A {
10181041	}
10191042}
10201043``` 
1044+ ### super ctor sentaksı adından da anlaşılacağı gibi yalnızca ctor'larda kullanılabilir  
10211045``` java 
10221046/* ----------------------------------------------------------------------------------------------------------------------
10231047	super ctor sentaksı adından da anlaşılacağı gibi yalnızca ctor'larda kullanılabilir 
@@ -1063,6 +1087,7 @@ class A {
10631087	}
10641088}
10651089``` 
1090+ ### **  ile belirtilen super ctor sentaksı default ctor çağrısı demek olduğundan yazılması ya da yazılmamamsı aynı anlamdadır. 
10661091``` java 
10671092/* ----------------------------------------------------------------------------------------------------------------------
10681093	** ile belirtilen super ctor sentaksı default ctor çağrısı demek olduğundan yazılması ya da yazılmamamsı aynı 
@@ -1106,6 +1131,7 @@ class A {
11061131	}
11071132}
11081133``` 
1134+ ### Bir dizi türetme durumunda taban sınıfın ctor'unun çağrılması  
11091135``` java 
11101136/* ----------------------------------------------------------------------------------------------------------------------
11111137	Bir dizi türetme durumunda taban sınıfın ctor'unun çağrılması 
@@ -1152,6 +1178,7 @@ class A {
11521178	}
11531179}
11541180``` 
1181+ ### Bazı durumlarda bir sınıfın ctor'u içerisinde sınıfın başka bir ctor'unun çağrılması gerekebilir. Bu durumda this ctor sentaksı kullanılır  
11551182``` java 
11561183/* ----------------------------------------------------------------------------------------------------------------------
11571184	Bazı durumlarda bir sınıfın ctor'u içerisinde sınıfın başka bir ctor'unun çağrılması gerekebilir. Bu durumda 
@@ -1233,6 +1260,7 @@ class A {
12331260	}
12341261}
12351262``` 
1263+ ### this ctor sentaksı da ctor'un ilk deyimi olmak zorundadır  
12361264``` java 
12371265/* ----------------------------------------------------------------------------------------------------------------------
12381266	this ctor sentaksı da ctor'un ilk deyimi olmak zorundadır 
@@ -1275,6 +1303,7 @@ class A {
12751303	}
12761304}
12771305``` 
1306+ ### this ve super ctor sentaksları aynı anda bulunamazlar.  
12781307``` java 
12791308/* ----------------------------------------------------------------------------------------------------------------------
12801309	this ve super ctor sentaksları aynı anda bulunamazlar. Böyle bir durumla karşılaşan programcı yazdığı koda 
@@ -1315,6 +1344,7 @@ class A {
13151344	}
13161345}
13171346``` 
1347+ ### this ctor sentaksında döngüsel durum geçersizdir  
13181348``` java 
13191349/* ----------------------------------------------------------------------------------------------------------------------
13201350	this ctor sentaksında döngüsel durum geçersizdir 
@@ -1345,6 +1375,7 @@ class A {
13451375	}
13461376}
13471377``` 
1378+ ### Aşağıdaki durum da döngüseldir  
13481379``` java 
13491380/* ----------------------------------------------------------------------------------------------------------------------
13501381	Aşağıdaki durum da döngüseldir 
@@ -1379,6 +1410,7 @@ class A {
13791410	}
13801411}
13811412``` 
1413+ ### Aşağıdaki örnekte tür dönüştürme operatörü kullanılarak double parametreli ctor'un çağrılması sağlanmıştır  
13821414``` java 
13831415/* ----------------------------------------------------------------------------------------------------------------------
13841416	Aşağıdaki örnekte tür dönüştürme operatörü kullanılarak double parametreli ctor'un çağrılması sağlanmıştır 
@@ -1409,6 +1441,7 @@ class A {
14091441	}
14101442}
14111443``` 
1444+ ### Java'da bir sınıf herhangi bir sınıftan extends anahtar sözcüğü ile türetilmese bile java.lang paketi içerisinde bulunan Object isimli bir sınıftan türetilmiş olur.   
14121445``` java 
14131446/* ----------------------------------------------------------------------------------------------------------------------
14141447	Java'da bir sınıf herhangi bir sınıftan extends anahtar sözcüğü ile türetilmese bile java.lang paketi içerisinde 
@@ -1433,6 +1466,7 @@ class A {
14331466
14341467}
14351468``` 
1469+ ### Object sınıfı istenirse extends anahtar sözcüğü ile de bildirimde yazılabilir.   
14361470``` java 
14371471/* ----------------------------------------------------------------------------------------------------------------------
14381472	Object sınıfı istenirse extends anahtar sözcüğü ile de bildirimde yazılabilir. Şüphesiz bu sınıfın başka bir 
0 commit comments