为什么我们无法在 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!
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言
C++
C#
MongoDB
MySQL
JavaScript
PHP