父類調(diào)用子類重寫方法 子類繼承父類,怎么把父類的方法重寫?
子類繼承父類,怎么把父類的方法重寫?不一定。1. 普通類繼承不一定重寫父類方法。2. 抽象類繼承。如果子類也是抽象類,則不必重寫父類方法。如果子類不是抽象類,則子類必須在父類中實(shí)現(xiàn)抽象方法。3. 接口
子類繼承父類,怎么把父類的方法重寫?
不一定。
1. 普通類繼承不一定重寫父類方法。
2. 抽象類繼承。如果子類也是抽象類,則不必重寫父類方法。如果子類不是抽象類,則子類必須在父類中實(shí)現(xiàn)抽象方法。
3. 接口類繼承。如果是子接口,則可以擴(kuò)展父接口的方法;如果是子抽象類,則可以部分或全部實(shí)現(xiàn)父接口的方法;如果不是抽象類,則需要子類實(shí)現(xiàn)父接口中定義的所有方法。
當(dāng)子類繼承了父類之后,能不能重寫父類中的構(gòu)造方法?
子類中定義的屬性Chang與父類中的屬性同名。子類構(gòu)造函數(shù)中的Super(long1)不為子類的屬性賦值。因此,創(chuàng)建子類的對(duì)象時(shí),其屬性Chang采用默認(rèn)值0。您可以這樣調(diào)用父類的屬性:void show(){系統(tǒng)輸出打印
子類為什么不能重寫父類的私有方法,為什么不能重寫?
因?yàn)楦割惖乃接蟹椒ú皇枪驳?,所以可以將私有方法聲明為虛擬方法,然后在子類中重寫它。
為什么子類重寫父類的方法的訪問修飾符,不能低于父類的方法訪問權(quán)限?
不,首先,從父類繼承的子類的訪問修飾符大于父類的訪問修飾符,即更開放。如果我的父類是受保護(hù)的,那么它的子類只能是受保護(hù)的或公共的,它永遠(yuǎn)不能是友好的或私有的。當(dāng)然,使用private不是繼承。其次,需要注意的是,繼承時(shí),子類拋出的異常必須是父類拋出異常的子異常,否則子類拋出的異常小于父類拋出的異常。