让我们具有以下类层次结构:

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/

10-09 03:40