【发布时间】:2019-09-11 22:02:27
【问题描述】:
也许没什么区别,但我还是想知道。我想知道返回匿名类是什么意思,如下所示:
public class Module extends BaseModule {
private BaseInitializable initializeModule() {
return new BaseInitializable() {
public void initialize(InitializationContext context) {
helperA.initialize();
helperB.initialize();
s_logger.log(LogLevel.INFO,"something");
}
public void shutdown(InitializationContext context) {
}
};
}
}
根据帖子 1,代码似乎返回了一个匿名内部类。但这不违反内部类的原则,因为它们只与它们所在的父类相关(根据帖子 2)?帖子 1 中接受的答案说内部类也是父类的子类。如果这是真的,那么返回这个内部/子类是有意义的。但根据 Post 2,内部类不是子类。那么我该怎么做呢?这个方法是返回内部类还是子类的实例?
【问题讨论】:
-
内部类和子类是不同的概念,但它们并不相互排斥。一个类可以是一个内部类和一个子类。
-
我明白了。我刚找到this post,同意你的观点。
-
内部类上下文中的“父类”通常称为“封闭类”,父类保留用于继承(子类)。
-
@k5_ 已注明。谢谢指正。
标签: java