標籤:地址 函數 不同 參數 this 代碼 font ext ring
方法重寫/覆寫(Override)
特點:
1一般發生在父子類間,子類重寫父類中的方法,方法的傳回值類型,方法名,形參列表都要與父類一樣,
子類許可權修飾符>=父類的許可權修飾符
2.一旦重寫了父類的方法,子類建立對象後,調用子類重寫後的方法;
[email protected]:重寫的註解,標註當前方法為重寫父類的方法,必須滿足重寫規則;
方法重載和重寫的區別:
1.重載發生在同一個類中,主要提供同名不同參的方法;重寫發生在父子類之間,主要為了結合多態使用,提高程式的擴充性和可維護性
2.重載,方法名相同,參數列表不同,跟傳回值類型和許可權修飾符沒有關係;重寫,方法名、參數列表、傳回值類型要與父類相同,子類許可權修飾符>=父類許可權修飾符。
super關鍵字(類比this關鍵字)
super是對直接父類的引用,可以使用super關鍵字調用父類的屬性(super.屬性名稱),方法(super.方法名),構造方法(super(屬性1,屬性2....)必須放在建構函式的第一行).
Object類
Object 是所有類的超類、基類、根類,處於java.lang包下,沒有使用extends關鍵字的類,預設extends Object;
Object類中的常用方法:
1.toString();將傳入的對象以字串的形式輸出
2.equals();比較的2個引用資料類型,比較的是引用(地址),需要比較內容時候,一般都需要重寫equals方法;
3.wait()/notify():多線程有關
4.getClass():返回此 Object 的運行時類。
5.hashCode():返回該對象的雜湊碼值
6.finalize():當記憶體回收行程確定不存在對該對象的更多引用時,由對象的記憶體回收行程調用此方法。
在繼承中程式的執行順序:
父類靜態代碼塊>子類靜態代碼塊>父類代碼塊>父類構造方法>子類代碼塊>子類構造方法
new子類的時候,會先調用父類的構造方法,首先建立父類對象,然後再建立子類執行個體。
==和equals的區別
1.==比較基礎資料型別 (Elementary Data Type)的時候,比較的是值
2.比較引用資料類型的時候,==和equals的效果一樣,比較的是當前對象的引用(地址)
3.想要比較對象的內容,需要重寫equals方法
java第五章:物件導向(oop)