为什么我们不能在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