无法实现接口¶
ID: java/unimplementable-interface
Kind: problem
Security severity:
Severity: warning
Precision: very-high
Tags:
- maintainability
- useless-code
Query suites:
- java-security-and-quality.qls
包含方法的接口,其返回类型与 java.lang.Object
上的受保护方法冲突,永远无法实现,因为不能仅基于其返回类型重载方法。
建议¶
如果接口有用,请对方法命名,使其与 Object
中的方法不冲突。否则,您应该删除该接口。
示例¶
在以下示例中,接口 I
无用,因为 clone
方法必须返回类型 java.lang.Object
interface I {
int clone();
}
class C implements I {
public int clone() {
return 23;
}
}
任何尝试实现接口都会产生错误
InterfaceCannotBeImplemented.java:6: clone() in C cannot override
clone() in java.lang.Object; attempting to use incompatible return
type
found : int
required: java.lang.Object
public int clone() {
^
1 error
参考¶
帮助 - Eclipse 平台:Java 编译器错误/警告首选项。
Java 语言规范:9.2 接口成员。