為什麼我們無法在 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!
廣告