溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JAVA中復(fù)用類是什么

發(fā)布時間:2020-10-23 17:55:09 來源:億速云 閱讀:135 作者:小新 欄目:編程語言

這篇文章主要介紹JAVA中復(fù)用類是什么,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

復(fù)用代碼是 Java 眾多引人注目的功能之一.但是想要成為機具革命性的語言,僅僅能復(fù)制代碼并對之加以改變是不夠的,它還必須能夠做更多的事情.

組合語法

只需將對象引用置于新類中即可.

初始化引用位置

定義對象的地方,他們總是能夠在構(gòu)造器被調(diào)用之前初始化.

在類的構(gòu)造器中

就在要使用這些對象之前,   --- 惰性初始化

實例初始化

繼承語法

除非已明確指出要從其他類中繼承,否則就是在隱式的從 java 的標(biāo)準(zhǔn)根類 Object 進行繼承.

初始化基類

代理

Java 語言不直接支持代理. 很多開發(fā)工具卻支持.

在集合與繼承之間選擇

組合和繼承都允許在新的類中放置子對象. 組合是顯式的做,繼承則是隱式的做.

protected 關(guān)鍵字

就類用戶而言,是 private 的,對于任何繼承此類的導(dǎo)出類或其他任何位于同一個包內(nèi)的類來說,他是可以訪問的.

向上轉(zhuǎn)型

you導(dǎo)出類轉(zhuǎn)換為積累,在繼承圖上是向上移動的,成為向上轉(zhuǎn)型.

向上轉(zhuǎn)型是從一個較專用類型向較通用類型轉(zhuǎn)換,所以總是很安全.

JAVA中復(fù)用類是什么

final 關(guān)鍵字

無法改變

final 數(shù)據(jù)

一個既是 static 優(yōu)勢 final 的域只占據(jù)一段不能改變的存儲空間.

對于基本類型,final 數(shù)值恒定不變.對于對象引用,final 使引用恒定不變.

一旦引用被初始化指向一個對象,就無法再把它改為指向另一個對象.然而對象本身是可以修改的.

Java 并未提供使任何對象恒定不變的途徑.

這一限制同樣適用數(shù)組,他也是對象.

根據(jù)慣例,既是 static 又是 final 的域?qū)⒂么髮懕硎?并適用下劃線分隔各個單詞.

空白 final

所謂的空白 final 是指被聲明為 final 但又未給定初始值的域.

無論什么情況,編譯器都確??瞻?final 在使用前必須被初始化.

final 參數(shù)

允許在參數(shù)列表中以聲明的方式將參數(shù)指明為 final.意味著你無法再方法中更改參數(shù)引用所指向的對象.

final 方法

1.把方法鎖定,以防任何繼承類修改它的含義.

2.效率,在早期實現(xiàn),如果將一個方法指明為 final,就是同意編譯器將針對該方法的所有調(diào)用都轉(zhuǎn)為內(nèi)嵌調(diào)用.

final 和 private 關(guān)鍵字

類中所有的 private 方法都是隱式地指定為 final 的.

由于無法采用 private 方法,也就無法覆蓋它.

可以地 private 方法添加 final 修飾詞,但并不能給該方法增加任何額外的意義.

"覆蓋" 只有在某方法是基類的接口的一部分時才會出現(xiàn).

必須將一個對象向上轉(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)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI