為什麼我們在 Java 介面中無法定義靜態方法?


從 Java 8 開始,允許在 Java 介面中使用靜態方法。

從 Java 8 開始,介面也可以有靜態幫助器方法。 

public interface vehicle {
   default void print() {
      System.out.println("I am a vehicle!");
   }
   static void blowHorn() {
      System.out.println("Blowing horn!!!");
   }
}

預設方法示例

使用任意編輯器,在例如 C:\> JAVA 中建立一個以下 Java 程式。

Java8Tester.java

即時演示

public class Java8Tester {
   public static void main(String args[]) {
      Vehicle vehicle = new Car(); vehicle.print();
   }
}

interface Vehicle {
   default void print() {
      System.out.println("I am a vehicle!");
   }
   static void blowHorn() {
      System.out.println("Blowing horn!!!");
   }
}

interface FourWheeler {
   default void print() {
      System.out.println("I am a four wheeler!");
   }
}

class Car implements Vehicle, FourWheeler {
   public void print() {
      Vehicle.super.print();
      FourWheeler.super.print();
      Vehicle.blowHorn();
      System.out.println("I am a car!");
   }
}

驗證結果

使用 javac 編譯器編譯類,如下所示 −

C:\JAVA>javac Java8Tester.java

現在執行 Java8Tester,如下所示 − 

C:\JAVA>java Java8Tester

輸出

應該生成以下輸出 − 

I am a vehicle!
I am a four wheeler!
Blowing horn!!!
I am a car!


更新於:6 月 17 日,2020 年

628 次瀏覽

開啟您的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.