父類調(diào)用子類重寫方法 如何調(diào)用被重寫的父類方法java?
如何調(diào)用被重寫的父類方法java?在子類中提供超語法來調(diào)用父類中的方法:public class a{public void call(){//to do}public class B extend
如何調(diào)用被重寫的父類方法java?
在子類中提供超語法來調(diào)用父類中的方法:
public class a{
public void call(){
//to do
}
public class B extend a{
public void call(){超級(jí)呼叫()
}
如何通過父類調(diào)用子類重寫的方法和子類特有?
父類引用指向子類對(duì)象。以多態(tài)方式調(diào)用方法時(shí),首先檢查父類中是否存在該方法。如果是這樣,請(qǐng)使用子類的相同名稱調(diào)用該方法。否則,編譯錯(cuò)誤。//如果父類沒有這個(gè)方法,它就不能指向子類的方法
因?yàn)槿绻割愑兴接谐蓡T變量,它通常在父類的構(gòu)造函數(shù)中初始化,因?yàn)樽宇悩?gòu)造函數(shù)不能訪問父類的私有成員。
父類構(gòu)造器為什么會(huì)調(diào)用被子類重寫的方法?
也不一定。
1. 普通類繼承不一定重寫父類方法。
2. 抽象類繼承。如果子類也是抽象類,則不必重寫父類方法。如果子類不是抽象類,則子類必須在父類中實(shí)現(xiàn)抽象方法。
3. 接口類繼承。如果是子接口,則可以擴(kuò)展父接口的方法;如果是子抽象類,則可以部分或全部實(shí)現(xiàn)父接口的方法;如果不是抽象類,則需要子類實(shí)現(xiàn)父接口中定義的所有方法。