当前位置:  开发笔记 > 编程语言 > 正文

是否有可能在Java中实现派生类中的接口?

如何解决《是否有可能在Java中实现派生类中的接口?》经验,为你挑选了2个好方法。

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

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?

如果不可能,是否有解决方法?



1> user28205..:

不,这是不可能的,你这样做的意图是一个很好的暗示,你的班级层次结构中存在某些缺陷.

解决方法:更改类层次结构,例如.像这样:

interface SomeInterface {}
abstract class AbstractParentClass {}
class ParentClass extends AbstractParentClass implements SomeInterface {}
class ChildClass extends AbstractParentClass {}



2> OregonGhost..:

也许组合而不是继承是你想要的,即有一个"基类"对象作为成员,只需实现你需要的接口,转发成员所需的任何方法.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有