为什么我们无法在 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

Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

输出

它应该产生以下输出 − 

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


更新于: 17-Jun-2020

627 次浏览

开启你的 职业生涯

完成本课程获得认证

立即开始
广告