1.繼承
若創(chuàng)建類的時(shí)候沒(méi)有聲明要繼承的類,那么java就默認(rèn)繼承Object類。
1.1繼承含有自變量構(gòu)造器的類
一定要使用super(變量),否則編譯器會(huì)報(bào)告找不到無(wú)參構(gòu)造器
1.2上溯造型:若必須上溯,就需要繼承。但如果不需要上溯造型,就應(yīng)提醒自己防止繼承的濫用。
2.final 不能改變 使用前必須初始化
final數(shù)據(jù)
2.1基本數(shù)據(jù)類型:常數(shù)
2.2對(duì)象句柄:永遠(yuǎn)指向一個(gè)具體對(duì)象,指向不變,對(duì)象本身可以修改
2.3注意對(duì)于含有固定初始化值(即編譯期常數(shù))的 fianl static基本數(shù)據(jù)類型,它們的名字根據(jù)規(guī)則要全部采用大寫。有隨機(jī)值時(shí),運(yùn)行期才知道,因此小寫。
2.4 static final 和 final 的區(qū)別在于,static final只有一個(gè),若該值均在運(yùn)行時(shí)期才獲得,則static final 初始化一次后就不會(huì)變,而final在每創(chuàng)建一次對(duì)象都會(huì)改變。
final int i4 = (int)(Math.random()*20);? 創(chuàng)建新對(duì)象后會(huì)變
static final int i5 = (int)(Math.random()*20); 初始化后就不變
final方法
集成期間保持不變,不可被覆蓋或改寫。類內(nèi)所有private方法都自動(dòng)成為final。
final 類
不能進(jìn)行繼承
3.繼承初始化
static初始化(從底層開(kāi)始)--》從底層開(kāi)始,先句柄初始化再構(gòu)造器--》再逐層往下