【发布时间】:2013-08-26 02:28:09
【问题描述】:
如果我有一个类和一个辅助类来完成它的一些功能,那么将它作为一个内部类是否有意义。
public class Foo {
private FooHelper helper;
// constructor & any other logic
public void doSomeThing() {
helper.do();
}
}
public class FooHelper {
public void do() {
// code
}
}
在上述情况下,将FooHelper 作为内部类有意义吗?抱歉,如果这听起来很愚蠢,但我对用例有点困惑。
【问题讨论】:
-
一般用于行动侦听器以及当您不想将呼叫暴露给其他人时。
-
@Vaibhav Jain 感谢您的链接,我知道语法,但我对何时使用它以及是否有任何权衡感到困惑
-
@SayemAhmed 我不确定这是否是唯一可用的选择,似乎可能有多种选择,并且作为新手我不确定正确的方法,所以仍在挖掘
-
@AnilSharma:想一想:“为什么要将
thing暴露给与thing无关的外部世界”。我的意思是:如果您需要单个类所需的功能(类及其方法)而外部类不需要它或其功能,最好不要将此功能公开给其他类。这样可以避免污染外部世界,从而带来更好的架构。
标签: java inner-classes