default方法的探究

default方法是在接口中使用,其意義是可以在接口方法內定義方法體,通過寫一個簡單的Demo來學習它的用法



    interface M{
        void draw();
        default void play(){    //default方法可以在接口中定義方法體
            System.out.println("哈哈");
        }
    }

    interface N extends M{
        void write();
        void draw();        //沒有報錯
        default void play(){    //default方法不用實現該接口的類重寫該方法
            System.out.println("哈哈哈");
        }
    }

    public class Demo33 implements M,N{ 
        public static void main(String[] args) {
            Demo33 de=new Demo33();
            de.play();          //輸出的是"哈哈哈"
        }

        @Override
        public void write() {
            System.out.println("write");

        }

        @Override
        public void draw() {
            System.out.println("draw");

        }
}

總結:default方法可以讓我們在接口中寫具體的方法,打破了接口中只能定義抽象方法的原則,讓我們可以在實現類中直接調用,實現代碼複用。

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