java - 是否可以在 Java 的派生类中取消实现接口(interface)?

标签 java oop

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

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/

相关文章:

c# - 在 OOP 中覆盖方法与分配方法委托(delegate)/事件

oop - Grails中的服务方法或域静态方法?

java - 如何防止在mysql Java上获得具有不同ID的相同名称

java - 根据键中某些字符串的一部分从 HashMap 中检索键?

java - Spring @RepositoryRestController 导致 @PageableDefault 停止工作

java - 为什么空行不包含在代码覆盖率中?

Java 注释处理器 : Usage & Applications

JavaFX - 如何将 ChangeListener 添加到与其他类中的 StringProperty 绑定(bind)的 TextArea

c++ - 使用对象参数还是使用成员对象更好?

php - Codeigniter Undefined Property,或者我的 Controller 如何停止担心并学会喜欢这个模型