让我们具有以下类层次结构:
public class ParentClass implements SomeInterface {
}
public class ChildClass extends ParentClass {
}
然后让我们来看看这两个实例:
ParentClass parent;
ChildClass child;
然后我们有以下TRUE语句
(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/