为什么我们不能在Java接口中定义静态方法?

从Java 8开始,Java接口中允许使用静态方法。

从Java 8开始,接口也可以具有静态帮助器方法。 

public interface vehicle {

   default void print() {

      System.out.println("我是车!");

   }

   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("我是车!");

   }

   static void blowHorn() {

      System.out.println("Blowing horn!!!");

   }

}

interface FourWheeler {

   default void print() {

      System.out.println("我是四轮车!");

   }

}

class Car implements Vehicle, FourWheeler {

   public void print() {

      Vehicle.super.print();

      FourWheeler.super.print();

      Vehicle.blowHorn();

      System.out.println("我是车!");

   }

}

验证结果

使用javac编译器编译类,如下所示:

C:\JAVA>javac Java8Tester.java

现在运行Java8Tester,如下所示: 

C:\JAVA>java Java8Tester

输出结果

它应该产生以下输出- 

我是车!

我是四轮车!

Blowing horn!!!

我是车!


以上是 为什么我们不能在Java接口中定义静态方法? 的全部内容, 来源链接: utcz.com/z/326520.html

回到顶部