嵌套类中公共构造函数的用途是什么

时间:2013-06-23 08:28:51

标签: java nested

我见过很多地方,我们在嵌套类中有公共构造函数。 问题是为什么/何时需要它们?似乎私有构造函数似乎也会执行相同的工作,那么为什么我们没有任何内部/嵌套类需要私有构造函数的约定?

如果我们永远不需要在对象之外构造内部类,那么将内部类构造函数声明为private是正确的吗?如果是这样,为什么java map中的Entry不会声明其构造函数是私有的?

谢谢,

1 个答案:

答案 0 :(得分:4)

然后你将无法从其他任何地方实例化内部类。 能够实例化内部类在Builder模式中被大量使用:

House house = new House.Builder().addRoof().paint(Color.WHITE).build();

如果Builder的构造函数是私有的,那么在构建具有复杂状态的对象时,您将无法执行上述操作。