public class TestInterface {
public static void main(String[] args) {
A a = new C();//多态,父类的引用指向子类的对象
a.syso();
System.out.println("---子类直接调用根接口的新增default方法----");
a.newFunction();
}
}
interface A{
public void syso();
default void newFunction(){
System.out.println("A:java8新增的接口方法,不需要实现");
System.out.println("A: 对于根接口的新增方法default,子类不需要实现,子类可以直接使用,好NB的功能喔!!!");
}
}
interface B extends A{
public void sysoB();
}
class C implements B{
@Override
public void syso() {
System.out.println("C:接口只有方法声明,没有方法体");
System.out.println("C:接口B继承了接口A,但是并不能重写A的方法,因为接口没有方法体");
System.out.println("C:C实现了接口B,接口B继承了接口A,则C间接继承了接口A,需要实现A接口的方法");
}
@Override
public void sysoB() {
System.out.println("实现了B的方法");
}
}
C:接口只有方法声明,没有方法体
C:接口B继承了接口A,但是并不能重写A的方法,因为接口没有方法体
C:C实现了接口B,接口B继承了接口A,则C间接继承了接口A,需要实现A接口的方法
---子类直接调用根接口的新增default方法----
A:java8新增的接口方法,不需要实现
A: 对于根接口的新增方法default,子类不需要实现,子类可以直接使用,好NB的功能喔!!!