即同一方法可以根據傳送物件的不同而採用多種不同的行為方式。
乙個物件的實際型別是確定的,但可以指向物件的引用型別有很多。(引用一般指:父類,有關係的類)
有繼承關係
子類重寫父類方法
父類引用指向子類物件
instanceof: 型別轉換, 引用型別轉換:判斷乙個物件是什麼型別
package com.oop.demo05;
//繼承
public
class
aextends
b}
package com.oop.demo05;
//重寫都是方法的重寫與屬性無關
public
class
b}
package com.oop;
import com.oop.demo05.a;
import com.oop.demo05.b;
public
class
}
package com.oop.demo05;
//繼承
public
class
aextends
b}
package com.oop.demo05;
//重寫都是方法的重寫與屬性無關
public
class
b}
package com.oop;
import com.oop.demo05.a;
import com.oop.demo05.b;
public
class
}
重寫:需要有繼承關係,子類重寫父類的方法
1.方法名必須相同
2.引數列表必須相同
3.修飾符:範圍可以擴大但不能縮小; public >protected>default>private
4.丟擲的異常:範圍,可以被縮小,但不能擴大;classnotfoundexception(類找不到異常)-->exception(大)
重寫,子類的方法和父類必須一致:方法體不同!
為什麼要重寫:
1.父類的功能,子類不一定需要,或者不一定滿足!
快捷鍵 :alt + insert :override;
package com.oop.demo06;
public
class
student
extends
person
public
void
eat(
)}
package com.oop.demo06;
public
class
person}/*
多型注意事項:
1.多型是方法的多型,屬性沒有多型
2.父類和子類,有聯絡 型別轉換異常!classcastexception!:類轉換異常!
3.存在的條件:繼承關係,方法需要重寫,父類引用指向子類物件! father f1 = new son();
不可以重寫的:
1.static 方法屬於類,它不屬於例項
2.final 常量
3.private方法
*/
package com.oop;
import com.oop.demo06.person;
import com.oop.demo06.student;
public
class
}
package com.oop;
import com.oop.demo06.person;
import com.oop.demo06.student;
import com.oop.demo06.teacher;
import com.sun.scenario.effect.impl.sw.sse.sseblend_src_outpeer;
public
class
}
true
true
true
false
true
true
true
true
true
process finished with exit code 0
package com.oop.demo06;
public
class
student
extends
person
}
package com.oop.demo06;
public
class
person
}
package com.oop;
import com.oop.demo06.person;
import com.oop.demo06.student;
public
class
}
package com.oop;
import com.oop.demo06.person;
import com.oop.demo06.student;
public
class}/*
1.父類引用指向子類的物件
2.把子類轉換為父類,向上轉型;
3.把父類轉換為子類,向下轉型;需要強制轉換。可能會丟失一些方法
4.強制轉換方便方法的呼叫,減少重複的**;可以使**簡潔
抽象: 封裝、繼承、多型!
*/
python學習第22天
不同的子類物件,呼叫相同的父類方法,產生了不同的執行結果 關鍵字 繼承 改寫 2.1 new 魔術方法 觸發時機 例項化類生成物件的時候觸發 觸發時機在 init 之前 功能 控制物件的建立過程 引數 至少乙個cls接受當前的類,其他根據情況決定 返回值 通常返回物件或none 1.基本語法 cla...
學習打卡第18天(補發)
度私 庶民 気持 理解 初 場所 訪 広 料理 內容 金額 確 驚 安 料理 金額 取 足 最 金額 高 選 考 考 私 何 來 庶民 気持 理解 金額 考 最 高 選 意味 來 見 最 高 料理 注文 私 悪評 広 可能性 高 選 味 確 店 22 番目 高 料理 注文 思 料理 金額 書 出 料...
C 打卡第7天
聊天框製作 1 介面搭建,乙個父物體,乙個子物體 2 在父物體掛載元件 boxcollider dragject 在檢視檢視上新增 並且將本身賦值給target處 3 給子物體做螢幕適配 基於父物體 右右下下 4 給子物體新增元件box collider drag resize元件 5 5 將父物體...