接口继承接口
- 1.类与类之间是单继承的,直接父类只有一个
- 2.类与接口之间是多实现的,一个类可以有多个接口
- 3.接口与接口之间是多继承的
- 注意事项:
- 1.多个父接口当中的抽象方法如果重复没有关系(抽象的没事,没有方法体)
- 2.多个父接口当中的默认方法如果有重复,那么子接口必须进行默认方法的覆盖重写,而且还需要带default关键字。(必须重写,因为有了方法体,所以里面的内容有可能不一样)*/
//发现在impl中接口只需要继承多个接口的总接口即可,而且重写的默认方法不需要再次重写。
接口A
代码:
public interface MyInterfaceA {
public abstract void methodA();
public abstract void methodCommon();
public default void method(){System.out.println("AAA");}
}
接口B
代码:
public interface MyInterfaceB {
public abstract void methodB();
public abstract void methodCommon();
public default void method(){System.out.println("AAA");}
}
总接口继承多接口A,B
代码:
public abstract void methodself();
@Override
default void method() {
System.out.println("继承也必须重写的方法,因为有了方法体");
}
}
继承类
代码:(规则上几章提起过。)
public class MyInterfaceImpl implements MyInterface{
@Override
public void methodself() {
System.out.println("Myinterface接口自己的方法");
}
@Override
public void methodA() {
System.out.println("接口A的方法");
}
@Override
public void methodB() {
System.out.println("接口B的方法");
}
@Override
public void methodCommon() {
System.out.println("公共方法!");
}
}
主类
代码:
public class Demo01Relations {
public static void main(String[] args) {
MyInterfaceImpl tt=new MyInterfaceImpl();
tt.method();
//自己想的调用方法!
}
}