這些都是我上課認(rèn)真聽講的結(jié)晶,里面提到了許多用Java做開發(fā)的許多小技巧 同時還有一些oracle數(shù)據(jù)庫的東東。
1、第一章
為什么類名可以直接訪問類的屬性和方法?
答:可以被類名訪問的都是靜態(tài)方法,而靜態(tài)方法是在程序一運行,JAVA虛擬機(jī)就會在內(nèi)存中為其開辟了空間并進(jìn)行了初始化
所以,我們可以直接使用類名來調(diào)用屬性和方法。普通的實例方法則是在創(chuàng)建對象的時候被初始化,所以只能通過對象名進(jìn)行訪問
先有對象后有類
在類中用static修飾的方法和變量稱為類屬性,方法
不適用static修飾的屬性和方法,屬于單個對象,通常稱為為實例屬性(實例變量),實例方法
構(gòu)造函數(shù):與類同名且無返回值,作用是初始化成員
2、第二章
一個JAVA程序中在編譯的時候,有多少個class 在編譯的時候就會產(chǎn)生多少個.class文件
注意:JAVA中的類名第一個字母大寫,方法第一個字母小寫,如果方法名由多個單詞組成 從第二個單詞開始 首字母都要大寫
初始化子類對象的時候,會默認(rèn)優(yōu)先調(diào)用父類的構(gòu)造函數(shù)
使用關(guān)鍵字 super 可以在子類中訪問父類的成員 (無法訪問private修飾的成員)
super代表對當(dāng)前對象的直接父類對象的默認(rèn)引用
如果我們不顯示使用super關(guān)鍵字調(diào)用父類的有參構(gòu)造函數(shù),JVM將會自動調(diào)用父類的無參構(gòu)造函數(shù)進(jìn)行對父類成員的初始化
如果一個類存在多重繼承關(guān)系,既:A類繼承B類,B類繼承C類,C類繼承自D類
如果子類中存在與父類同名的方法,只會調(diào)用子類的同名方法
抽象類:如果父類是一個抽象類 且包含抽象方法,那么子類必須實現(xiàn)抽象方法
嚴(yán)重注意:子類實現(xiàn)父類的抽象方法,方法簽名必須與父類對應(yīng)抽象方法相同
用final關(guān)鍵字修飾的類不能被繼承,用final修飾的方法不能被重寫,用final修飾的變量tb值無法改變
abstract關(guān)鍵字的作用與final相反
用final修飾一個對象,對象的屬性是可以改變的,但對象引用指向另一個堆空間
abstract不能和private同時修飾一個方法
abstract不能和static同時修飾一個方法
abstract不能和final同時修飾一個方法或類
注意:abstract不能用來修飾屬性和構(gòu)造方法
MIS:經(jīng)營管理系統(tǒng)
OA:辦公自動化系統(tǒng)
ERP:企業(yè)資源管理系統(tǒng)
CRM:客戶關(guān)系管理系統(tǒng)
為什么抽象類不能被實例化?
答:因為抽象類
注意:如果父類是抽象類,子類必須實現(xiàn)抽象類中的所有抽象方法。除非子類也是一個抽象類,就可以不實現(xiàn)父類中的抽象方法