【发布时间】:2013-04-10 18:46:48
【问题描述】:
我有一个树形结构,其中一些节点必须只包含实现特定接口的对象。但是有接口扩展了该接口,并且实现它们的对象不应该包含在节点中。
所以我需要检查对象是否实现了严格的特定接口。
public interface IProcessCell {...}
public interface IMethodCell extends IProcessCell {...}
IProcessCell processInstance = new IProcessCell() {...}
IMethodCell methodInstance = new IMethodCell() {...}
/** Method implementing desired check */
public boolean check(IProcessCell instance) {...}
processInstance 的方法检查必须返回 true,但 methodInstance 必须返回 false
【问题讨论】:
-
也许您可以为我们提供一个虚构名称的示例。更容易理解您要做什么。
-
这似乎是个坏主意。如果
Foo是扩展Bar的接口,那么Bar应该在每个地方都可用,Foo应该可用。 -
也许 [instanceOf][1] 运算符可能有帮助? [1]:stackoverflow.com/questions/631099/…
标签: java class interface instanceof