当我注意到您现在可以在接口中定义静态和默认方法时,我正在通过接口学习。
public interface interfacesample2 {
public static void method() {
System.out.println("hello world");
}
public default void menthod3() {
System.out.println("default print");
}
}
请解释两者的区别,如果有一个我们何时使用它的例子,那就太好了。对接口有点困惑。
原文由 Vipin Menon 发布,翻译遵循 CC BY-SA 4.0 许可协议
Java 8 中静态方法和默认方法的区别:
1)默认方法 可以在实现类时被 覆盖,而静态 方法不能。
2)静态方法 只 属于接口类,所以只能在接口类上调用静态方法,不能在实现该接口的类上调用,参见:
3)类和接口 都可以有 同名的静态方法,并且都不会覆盖其他的!