我见过很多地方在嵌套类中有公共(public)构造函数。 问题是为什么/什么时候需要它们?看来私有(private)构造函数似乎也可以完成相同的工作,那么为什么我们没有一个约定,即任何内部/嵌套类都需要私有(private)构造函数呢?
如果我们永远不需要在对象之外构造内部类,那么将内部类构造函数声明为 private 是否正确?如果是这样,那么为什么 java 映射中的 Entry 不将其构造函数声明为私有(private)?
谢谢
最佳答案
那么您将无法从其他任何地方实例化内部类。 能够实例化内部类在构建器模式中大量使用:
House house = new House.Builder().addRoof().paint(Color.WHITE).build();
如果 Builder 的构造函数是私有(private)的,您将无法执行上述操作,这在构建具有复杂状态的对象时非常有用。
关于java - 嵌套类中的公共(public)构造函数有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17258947/