在 java 8 中,默认方法实现可以同时使用public
和default
修饰符。以下两种方法之间的主要区别是什么。在什么条件下需要遵循哪种类型。
default int makeMul(int x, int y) {
return x * y;
}
public default int makeMul(int x, int y) {
return x * y;
}
在 java 8 中,默认方法实现可以同时使用public
和default
修饰符。以下两种方法之间的主要区别是什么。在什么条件下需要遵循哪种类型。
default int makeMul(int x, int y) {
return x * y;
}
public default int makeMul(int x, int y) {
return x * y;
}
这里的默认方法没有什么特别之处。Java 一直允许将接口方法声明为公共的,即使它们已经隐式公开。
从JLS 9.4开始:
接口主体中的每个方法声明都是隐式公共的(第 6.6 节)。允许但不鼓励在接口中为方法声明冗余地指定 public 修饰符。
正如其他人所建议的那样,该default
关键字有两个主要用途:
switch-case
语句中的默认情况。default
在方法的声明中使用关键字 ( public default int method()
)。据我了解,在简单的类default
中使用方法声明中的关键字根本没有任何区别。
default
有关接口中方法用途的广泛讨论,请参阅Java 8 中的 Default 或 Defender 方法的用途