小知識點1

海藍時見鯨-發表於2020-12-10

一、==

1.可以使用在基本資料型別變數和引用資料型別變數中
2.如果比較的是基本資料型別,則比較的是變數儲存的資料值是否相等(型別不一定要相等)
    如果比較的是引用資料型別,則比較兩個物件的地址是否相等,即兩個引用是否指向同一個實體

二、equals()方法的使用

1.是一個方法,而非運算子
2.只能適用於引用資料型別
3.Object類中equals()的定義
    public boolean equals(Object obj) {
        return this == obj;
    }
    說明: Object類中的equals()和==的作用是一樣的,比較地址值是否相等
4.String、Data、File、包裝類等都重寫了Object類中的equals()方法,比的不是地址值
5.自定義類如果使用equals()的話,通常比較物件的實體內容,需要對Object類中的equals()方法重寫

三、Object類的toString()方法

1.當我們輸出一個物件時,實際上就是呼叫當前物件的toString()方法
2.Object類中toString()的定義:
public String toString() {
            return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
3.String、Date、File、包裝類等都重寫了Object類的toString()方法,使得返回的是實體內容
4.自定義也可以重寫toString()方法,返回物件的實體內容

四、包裝類

五、static靜態變數(類變數)

1.靜態的
2.可以修飾屬性、方法、程式碼塊、內部類
3.修飾屬性: 稱作靜態屬性
    例項變數: 建立多個物件時,每個物件都會擁有一套非靜態變數
            例項變數的載入是在物件建立完成後,或過程中
    靜態變數: 所有物件共用一個靜態變數,隨著類的載入而載入,類只會載入一次
            靜態變數的載入(載入到記憶體中)要早於物件的建立,放在方法區的靜態域中
4.修飾方法
    ①隨類的載入而載入
    ②靜態方法中只能去呼叫靜態方法或屬性

六、單例模式

懶漢式: 延遲物件的建立
餓漢式: 物件載入時間過長、執行緒安全

七、final

1.可以用來修飾類、方法、變數
2.用來修飾類: 不能被其他的類繼承(例如String、StringBuffer、Math等)
3.用來修飾方法: 此方法不能被重寫(Override)
4.用來修飾變數: 此時的“變數”就稱為一個常量
    >修飾屬性: 可以考慮賦值的位置: 顯示初始化、程式碼塊中賦值、構造器中初始化
    >修飾區域性變數:
static final 用來修飾屬性: 全域性常量

相關文章