Interface新特性

1. jdk8之后的新特性,default方法

public class JavaInterface implements Demo01, Demo02{
    
    // 必须复写继承的接口中的 default方法
    @Override
    public void eat() {
        Demo01.super.eat();        // 调用继承的接口中的方法 的书写格式
        Demo02.super.eat();
    }

    public static void main(String[] args) {
        new JavaInterface().eat();
    }
}


interface Demo01 {
    default void eat() {
        System.out.println("这是Demo01");
    }
    
}

interface Demo02 {
    default void eat() {
        System.out.println("这是Demo02");
    }
    
}

若类实现了两个或两个以上接口,且其中有两个或两个以上接口有相同的default方法,则实现类必须复写该default方法,否则编译会出错;

若类实现了两个或两个以上接口,但是某个default方法仅为某个接口独有,则可以重写或者也可以不重写该default方法;

 

 

 

 2. jdk8之后的新特性,static方法

  接口中的静态方法可以直接使用接口调用,但是在接口的实现类中无法进行复写或调用,接口实现类的 类本身和其对象也无法调用该静态方法

 

posted @ 2018-04-22 17:19  Cappuccinom  阅读(193)  评论(0编辑  收藏  举报