JAVA8_新特性_接口

JAVA8的接口里的靜態方法,可以有方法體,方法不是抽象的。
package com.wjb.interfaceDemo;

/**
 * Created by ptdy on 2017/5/18.
 */
public interface Java8 {
    public static void method1(){
        System.out.println("wjb");
    }
}

通過接口名直接調用

package com.wjb.interfaceDemo;

/**
 * Created by ptdy on 2017/5/18.
 */
public class Java8Test {
    public static void main(String[] args) {
        Java8.method1();
    }
}
JAVA8的接口里的非靜態方法,可以有方法體,方法不是抽象的。必須加上default關鍵字,不然報錯。
package com.wjb.interfaceDemo;
/**
 * Created by ptdy on 2017/5/18.
 */
public interface Java8 {
    public default void method2(){
        System.out.println("abc");
    }

}

但是不能通過接口名直接調用,必須通過實現類對象來調用。實現類不需要重寫實現方法,因為接口的方法不是抽象的。

注意:(如果實現類要重寫接口方法也行,不能加上default關鍵字,如果重寫了方法,那么就會調用重寫的方法內容)
package com.wjb.interfaceDemo;

/**
 * Created by ptdy on 2017/5/18.
 */
public class Java8Impl implements Java8 {

}
package com.wjb.interfaceDemo;

/**
 * Created by ptdy on 2017/5/18.
 */
public class Java8Test {
    public static void main(String[] args) {
        Java8Impl java8 = new Java8Impl();
        java8.method2();
    }
}

注意:如果一個類實現了多個接口中的方法,并且多個接口中的方法名一樣,此時實現類必須重寫方法,否則編譯失敗。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 之前面試時被過關于java8中接口的新特性問題,當時沒有回答好,后查找資料,在這里做下筆記。 java8之前接口中...
    帥氣滴糟老頭閱讀 4,369評論 0 5
  • 前言 本文是Java基礎回爐文集的第三篇,關于文集可通過《Java基礎回爐和提升暨文集開篇》了解。 今天我們將從接...
    TimeReview閱讀 594評論 0 1
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂有人憂愁,有人驚喜有人失落,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,594評論 28 53
  • 步驟:發微博01-導航欄內容 -> 發微博02-自定義TextView -> 發微博03-完善TextView和...
    dibadalu閱讀 3,172評論 1 3
  • 人工智能是什么?什么是人工智能?人工智能是未來發展的必然趨勢嗎?以后人工智能技術真的能達到電影里機器人的智能水平嗎...
    ZLLZ閱讀 3,870評論 0 5