为什么要在类内部声明接口?

为什么我们要在Java类中声明一个接口?

例如:

public class GenericModelLinker implements IModelLinker {

private static final Logger LOG =LoggerFactory.getLogger(GenericModelLinker.class);

private String joinAsPropertyField;

private boolean joinAsListEntry;

private boolean clearList;

private List<Link> joins;

//instead of a scalar property

private String uniqueProperty;

public interface Link {

Object getProperty(IAdaptable n);

void setProperty(IAdaptable n, Object value);

}

}

回答:

当您想在对象中收集一些字段以强调概念时,可以创建一个外部类,也可以创建一个内部类(称为嵌套(静态)或内部)。

如果要强调这个合作类在原始对象使用之外完全没有意义(没有用)的事实,可以将其嵌套/内部。

因此,在处理某些层次结构时,可以描述一个“嵌套” interface,它将由包装类的子类实现。

在JDK中,最显著的例子是Map.Entry内部接口中定义的Map接口,并通过各种方式来实现HashMapLinkedHashMap等等......

当然,无论代码在哪里,都Map.Entry需要声明为public以便在迭代地图时可以访问。

以上是 为什么要在类内部声明接口? 的全部内容, 来源链接: utcz.com/qa/403054.html

回到顶部