java8接口新特性

變量必須public static final(final則必須有初始值)
方法必須public abstract(抽象就不是靜態)

java8新增
public interface IUser {
    static void say() {//靜態方法,必須public,不會被繼承,不然如果繼承2個接口都有相同方法,不知道繼承哪個(變量可以繼承,但也會出現上述問題,所以方法避開了這個坑)
        System.out.println("say_");
    }

    default void eat() {//默認方法,必須public
        System.out.println("eat_");
    }
}
public class Student implements IUser {
    public static void main(String[] args) {
        IStudent.say();//靜態方法
        Student student = new Student();
        student.eat();//默認方法
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章