Java 8 中默认接口方法和静态接口方法之间的区别。
javaobject oriented programmingprogramming更新于 2025/11/13 10:52:17
根据 Oracle 的 Javadocs −
默认方法使您能够向库的接口添加新功能,并确保与为这些接口的旧版本编写的代码二进制兼容。
静态方法是与定义它的类而不是任何对象关联的方法。类的每个实例都共享其静态方法。
接口中的静态方法是接口类的一部分,不能实现或覆盖它,而类可以覆盖默认方法。
| Sr. No. | 关键 | 静态接口方法 | 默认方法 |
|---|---|---|---|
| 1 | 基本 | 这是仅属于接口的静态方法。我们可以在接口本身中编写此方法的实现 | 这是一个带有 default 关键字的方法,类可以重写此方法 |
| 2 | 方法调用 | 静态方法只能在接口类上调用,而不能在类上调用。 | 它既可以在接口上调用,也可以在类上调用 |
| 3 | 方法名称 | 接口和实现类都可以具有相同名称的静态方法,而不会互相覆盖。 | 我们可以在实现中重写默认方法类 |
| 4. | 用例 | 可用作实用方法 | 可用于在所有实现类中提供通用功能 |
接口中的默认和静态方法示例
public interface DefaultStaticExampleInterface {
default void show() {
System.out.println("在 Java 8 中 - 默认方法 - DefaultStaticExampleInterface");
}
static void display() {
System.out.println("In DefaultStaticExampleInterface I");
}
}
public class DefaultStaticExampleClass implements DefaultStaticExampleInterface {
}
public class Main {
static void main(String args[]) {
// 在接口上调用接口静态方法
DefaultStaticExampleInterface.display();
DefaultStaticExampleClass defaultStaticExampleClass = new DefaultStaticExampleClass();
// 调用类上的默认方法
defaultStaticExampleClass.show();
}
}
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

