【发布时间】:2018-05-24 08:33:07
【问题描述】:
我已经写了这个java代码
public interface Sorter {
public static <T extends Comparable<T>> void sort(T[] array);
}
编译器会向我抛出这个错误:
Sorter.java:7: error: missing method body, or declare abstract
public static <T extends Comparable<T>> void sort(T[] array);
^
1 error
通过在方法声明的末尾将分号更改为“{}”,一切似乎都很好。 但这不是定义接口的方式吗?毕竟,身体有什么意义。
【问题讨论】:
-
静态接口方法不是抽象的,必须有实现
-
你有一个静态方法。接口中的静态方法(可能从 Java8 开始)需要在接口本身中实现,因为它们不能被覆盖。
-
@ErnestKiwele 嘿,谢谢。有什么具体原因吗?
-
哦,好的。谢谢大家
-
@Ben 反过来说:静态方法不能被覆盖,所以它不能是抽象的。