[英]Java interface asks for method body
我已经编写了这段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
通过在方法声明的末尾将分号更改为“ {}”,一切似乎都很好。 但这不是定义接口的方法吗? 身体到底有什么意义呢?
子类不能重写/实现static
方法。 顾名思义,它是静态的。
因此在接口中定义static
抽象方法是没有意义的(并且在编译时是非法的),因为没有子类可以实现/覆盖它。
在您的接口中定义static
方法的实现(自Java 8起可能),或者使其成为子类可以实现的实例方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.