栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

Demo01Interface

package InterfaceandExtend;



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中的默认方法");
    }
}

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中默认方法");
    }
}

MyInterfaceABImpl.java

package InterfaceandExtend;

public class MyInterfaceABImpl implements MyInterfaceA,MyInterfaceB{
    @Override
    public void methodA() {
        System.out.println("重写A");
    }

    @Override
    public void methodAbs() {
        System.out.println("重写Abs");
    }

    @Override
    public void methodB() {
        System.out.println("重写B");
    }

    @Override
    public void methodDefault() {
        MyInterfaceA.super.methodDefault();
        //两个中都有,只需要覆盖重写一个,必须要,不然不知道听哪个的话
        System.out.println("对多个接口当中冲突的默认方法进行了覆盖重写");
    }

}

对于第六条:
一个类如果直接父类当中的方法,和接口当中的默认方法产生了冲突,优先用父类当中的方

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("接口的默认方法");
    }
}

Zi.java

package InterfaceandExtend.FuZiInterface;

public class main {
    public static void main(String[] args) {
        Zi zi = new Zi();
        zi.method();
    }
}
//输出结果
//父类的方法
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397045.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号