让我们拥有以下类层次结构:
public class ParentClass implements SomeInterface {
}
public class ChildClass extends ParentClass {
}
然后我们来看这两个实例:
ParentClass parent;
ChildClass child;
那么我们有以下正确的陈述
(parent instanceof SomeInterface) == true
(child instanceof SomeInterface) == true
是否可以在 ChildClass 中取消实现 SomeInterface,这样当我们检查 instanceof 运算符时它会返回 false?
如果不可能,有解决方法吗?
最佳答案
不,这是不可能的,您这样做的意图很好地暗示了您的类层次结构中存在缺陷。
解决方法:更改类层次结构,例如。像这样:
interface SomeInterface {}
abstract class AbstractParentClass {}
class ParentClass extends AbstractParentClass implements SomeInterface {}
class ChildClass extends AbstractParentClass {}
关于java - 是否可以在 Java 的派生类中取消实现接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/204398/