java - 嵌套类中的公共(public)构造函数有什么用

标签 java nested

我见过很多地方在嵌套类中有公共(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/

相关文章:

java - Elasticsearch : Can't get Native (Java) Script working

java - Java TreeSet 和 HashSet 是否期望使用相同的数据给出不同的结果?

java - Gradle 子项目依赖项不起作用,但相同的依赖项在主 gradle 中工作正常

xml - 使用 Go 解码嵌套的 xml

javascript - 测试嵌套 JavaScript 对象键是否存在

java - 对数据库进行 9 次查询后,执行相同查询的时间乘以 7

mysql:如果求和则嵌套

nested - Redux 更新嵌套状态数组

arrays - 在 TypeScript 中描述一个深度嵌套的数组

java - 如何检查单行输入中是否有两个相同的数字