【问题标题】:What is the use of public constructor in nested class嵌套类中公共构造函数的用途是什么
【发布时间】:2013-06-23 08:28:50
【问题描述】:

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

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

谢谢,

【问题讨论】:

  • java.awt.geom.Point2D.Double。它是一个带有公共构造函数的嵌套类,不是吗?如果它的构造函数是私有的,我们就不能使用这个类。
  • 您对我的回答满意吗?如果是这样,那么您应该接受它。

标签: java nested


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2010-12-13
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 2012-12-28
    • 2019-07-24
    • 1970-01-01
    • 2011-04-16
    • 2015-06-05
    相关资源
    最近更新 更多