這篇文章主要介紹JAVA中復(fù)用類是什么,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),成都做網(wǎng)站公司-創(chuàng)新互聯(lián)建站已向上1000+企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營銷等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。復(fù)用代碼是 Java 眾多引人注目的功能之一.但是想要成為機(jī)具革命性的語言,僅僅能復(fù)制代碼并對之加以改變是不夠的,它還必須能夠做更多的事情.
組合語法
只需將對象引用置于新類中即可.
初始化引用位置
定義對象的地方,他們總是能夠在構(gòu)造器被調(diào)用之前初始化.
在類的構(gòu)造器中
就在要使用這些對象之前, --- 惰性初始化
實(shí)例初始化
繼承語法
除非已明確指出要從其他類中繼承,否則就是在隱式的從 java 的標(biāo)準(zhǔn)根類 Object 進(jìn)行繼承.
初始化基類
代理
Java 語言不直接支持代理. 很多開發(fā)工具卻支持.
在集合與繼承之間選擇
組合和繼承都允許在新的類中放置子對象. 組合是顯式的做,繼承則是隱式的做.
protected 關(guān)鍵字
就類用戶而言,是 private 的,對于任何繼承此類的導(dǎo)出類或其他任何位于同一個(gè)包內(nèi)的類來說,他是可以訪問的.
向上轉(zhuǎn)型
you導(dǎo)出類轉(zhuǎn)換為積累,在繼承圖上是向上移動(dòng)的,成為向上轉(zhuǎn)型.
向上轉(zhuǎn)型是從一個(gè)較專用類型向較通用類型轉(zhuǎn)換,所以總是很安全.
final 關(guān)鍵字
無法改變
final 數(shù)據(jù)
一個(gè)既是 static 優(yōu)勢 final 的域只占據(jù)一段不能改變的存儲(chǔ)空間.
對于基本類型,final 數(shù)值恒定不變.對于對象引用,final 使引用恒定不變.
一旦引用被初始化指向一個(gè)對象,就無法再把它改為指向另一個(gè)對象.然而對象本身是可以修改的.
Java 并未提供使任何對象恒定不變的途徑.
這一限制同樣適用數(shù)組,他也是對象.
根據(jù)慣例,既是 static 又是 final 的域?qū)⒂么髮懕硎?并適用下劃線分隔各個(gè)單詞.
空白 final
所謂的空白 final 是指被聲明為 final 但又未給定初始值的域.
無論什么情況,編譯器都確保空白 final 在使用前必須被初始化.
final 參數(shù)
允許在參數(shù)列表中以聲明的方式將參數(shù)指明為 final.意味著你無法再方法中更改參數(shù)引用所指向的對象.
final 方法
1.把方法鎖定,以防任何繼承類修改它的含義.
2.效率,在早期實(shí)現(xiàn),如果將一個(gè)方法指明為 final,就是同意編譯器將針對該方法的所有調(diào)用都轉(zhuǎn)為內(nèi)嵌調(diào)用.
final 和 private 關(guān)鍵字
類中所有的 private 方法都是隱式地指定為 final 的.
由于無法采用 private 方法,也就無法覆蓋它.
可以地 private 方法添加 final 修飾詞,但并不能給該方法增加任何額外的意義.
"覆蓋" 只有在某方法是基類的接口的一部分時(shí)才會(huì)出現(xiàn).
必須將一個(gè)對象向上轉(zhuǎn)型為她的基本類型并調(diào)用相同的方法.
final 類
禁止被繼承,沒有子類.
所有 final 類中的所有方法,都隱式指定為 final,無法覆蓋.
初始化及類的加載
class Insect { private int i = 9 ; protected int j ; Insect(){ System.out.println("Insect constructor."); System.out.println("i= "+i+", j="+j); j = 39 ; } static int printInit(String s){ System.out.println(s); return 47 ; } } public class Beetle extends Insect { private int k = printInit("Beetle.k initialized . "); public Beetle(){ System.out.println("k = "+ k); System.out.println("j = " + j); } private static int x2 = printInit("static Beetle.x2 initialized ") ; public static void main(String[] args) { System.out.println("Beetle constructor."); Beetle b = new Beetle(); } } 輸出: static Beetle.x2 initialized Beetle constructor. Insect constructor. i= 9, j=0 Beetle.k initialized . k = 47 j = 39
以上是JAVA中復(fù)用類是什么的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。