JAVA SE學習筆記02
一、方法的過載(Overload):方法名相同,引數表不同,不考慮返回值。
過載是相對於在一個類裡面而言的,也就說要想過載一個方法,這兩個方法的名字必須相同、引數的個數和引數的型別不同,返回值的型別可以不同。要呼叫哪一個方法是根據引數列表的個數和型別來決定的。
二、方法的重寫(Overwrite):方法名相同、引數表相同、引數的型別相同或者更寬,返回值 的型別要相同或者是父類的返回型別的子類(JDK5.0以後加入的)、丟擲的異常範圍不能比父類的寬。
重寫是對於繼承而言的。
三、屬性的覆蓋:也是相對於繼承而言的,是子類的屬性名和父類的同名;
四、下面說一下this和super關鍵字
this:
1、this是個隱式的引數,代表當前物件本身。
2、如果某個構造方法的第一個語句具有形如this(...),那麼這個構造方法將呼叫同一類中的其它構造方法。要注意的是在構造方法中this(...)一定要放在方法的第一行。
super:
1、super()表示呼叫父類裡的構造方法。
2、super()也和this一樣必須放在方法的第一句。
3、super可以遮蔽子類屬性和父類屬性重名的屬性遮蓋問題。
五、說一下有繼承關係的子類建立過程
1、遞迴地構造父類物件
2、分配空間
3、初始化屬性
4、呼叫父類的某一個構造方法
六、多型
1、多型分為兩種:編譯時多型和執行時多型
編譯時多型:從主觀概念上講的(過載)
執行時多型:從客觀概念上講的(它實際上是什麼)
2、執行時多在的三個原則
1)、物件型別不變
2)、只能對物件呼叫編譯時型別中定義的方法
3)、在程式執行時,根據物件的執行時型別找覆蓋後的方法來呼叫
3、強制類轉化一定沒有新物件生成
4、instanceof
用法:引用 instanceof 類名。判斷這個引用所指向的物件是否屬於這個類
好了就寫到這裡了,下面還有。