日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

24继承父类并实现多个接口

發(fā)布時間:2025/3/13 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 24继承父类并实现多个接口 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Demo01Interface

package InterfaceandExtend;/** 1.接口不能有靜態(tài)代碼塊和構(gòu)造方法* 2.一個類的直接父類是唯一的,但是一個類可以同事實(shí)現(xiàn)多個接口。* public class MyInterfaceImpl implements MyInterfaceA, MyInterfaceB {}* 3.如果實(shí)現(xiàn)類所實(shí)現(xiàn)的多個接口當(dāng)中,存在重復(fù)的抽象方法,那么只需要覆蓋重寫一次即可。* 4.如果實(shí)現(xiàn)類沒有覆蓋重寫所有接口當(dāng)中的所有抽象方法,那么實(shí)現(xiàn)類就必須是一個抽象類。* 5.如果實(shí)現(xiàn)類所實(shí)現(xiàn)的多個接口當(dāng)中,存在重復(fù)的默認(rèn)方法,那么實(shí)現(xiàn)類一定要對沖突的默認(rèn)方法進(jìn)行覆蓋重寫。(第3條和第五條是類似的,只要一樣,就重寫一次,要讓程序知道該聽誰的話)* 6.一個類如果直接父類當(dāng)中的方法,和接口當(dāng)中的默認(rèn)方法產(chǎn)生了沖突,優(yōu)先用父類當(dāng)中的方法。(Java中繼承大于接口)* */public class Demo01Interface {public static void main(String[] args) {MyInterfaceABImpl myInterfaceAB = new MyInterfaceABImpl();myInterfaceAB.methodA();myInterfaceAB.methodB();myInterfaceAB.methodAbs();//重寫一次即可myInterfaceAB.methodDefault();} }

MyInterfaceA.java

package InterfaceandExtend;public interface MyInterfaceA {public abstract void methodA();public abstract void methodAbs();public default void methodDefault() {System.out.println("接口A中的默認(rèn)方法");} }

MyInterfaceB.java

package InterfaceandExtend;public interface MyInterfaceB {public abstract void methodB();public abstract void methodAbs();//public abstract void methodElse();public default void methodDefault(){System.out.println("接口B中默認(rèn)方法");} }

MyInterfaceABImpl.java

package InterfaceandExtend;public class MyInterfaceABImpl implements MyInterfaceA,MyInterfaceB{@Overridepublic void methodA() {System.out.println("重寫A");}@Overridepublic void methodAbs() {System.out.println("重寫Abs");}@Overridepublic void methodB() {System.out.println("重寫B(tài)");}@Overridepublic void methodDefault() {MyInterfaceA.super.methodDefault();//兩個中都有,只需要覆蓋重寫一個,必須要,不然不知道聽哪個的話System.out.println("對多個接口當(dāng)中沖突的默認(rèn)方法進(jìn)行了覆蓋重寫");}}

對于第六條:
一個類如果直接父類當(dāng)中的方法,和接口當(dāng)中的默認(rèn)方法產(chǎn)生了沖突,優(yōu)先用父類當(dāng)中的方

Fu.java

package InterfaceandExtend.FuZiInterface;public class Fu {public void method(){System.out.println("父類的方法");} }

Zi.java

package InterfaceandExtend.FuZiInterface;public class Zi extends Fu implements MyInterface{}

MyInterface.java

package InterfaceandExtend.FuZiInterface;public interface MyInterface {public default void method(){System.out.println("接口的默認(rèn)方法");} }

Zi.java

package InterfaceandExtend.FuZiInterface;public class main {public static void main(String[] args) {Zi zi = new Zi();zi.method();} } //輸出結(jié)果 //父類的方法

總結(jié)

以上是生活随笔為你收集整理的24继承父类并实现多个接口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。