Java 为什么在生成器设计模式中使用嵌套类,为什么可以';不要使用setter在同一个类中构建对象

Java 为什么在生成器设计模式中使用嵌套类,为什么可以';不要使用setter在同一个类中构建对象,java,class,design-patterns,static,nested,Java,Class,Design Patterns,Static,Nested,我访问了一些关于JavaBuilder设计模式的网站。其中大多数都显示了,为了构建类,我们需要通过调用相应的setter来添加静态嵌套类,然后触发对象创建。但问题是,为什么我们不能在没有静态嵌套类的情况下在同一个类中使用这些setter呢 a。可能会出现这样的情况,即您公开了实例,并且仍然在通过setter方法创建对象的过程中 b。您希望使外部实例不可变 c。您正在将对象的构造与其表示分离 d。由于以下原因,您需要对其构造进行更多的控制,而不是表示。: a。可能会出现这样的情况,即您公开了实例,

我访问了一些关于JavaBuilder设计模式的网站。其中大多数都显示了,为了构建类,我们需要通过调用相应的setter来添加静态嵌套类,然后触发对象创建。但问题是,为什么我们不能在没有静态嵌套类的情况下在同一个类中使用这些setter呢

a。可能会出现这样的情况,即您公开了实例,并且仍然在通过setter方法创建对象的过程中

b。您希望使外部实例不可变

c。您正在将对象的构造与其表示分离


d。由于以下原因,您需要对其构造进行更多的控制,而不是表示。

a。可能会出现这样的情况,即您公开了实例,并且仍然在通过setter方法创建对象的过程中

b。您希望使外部实例不可变

c。您正在将对象的构造与其表示分离


d。您需要更多地控制其构造,而不是表示。

您所说的是在多线程访问该代码时?@user1702457不变性是多线程的一个有用属性,但更一般地说,它只允许您对对象的状态进行推理,从而让您知道单线程代码也以特定的方式工作。您所说的是在多线程访问该代码的过程中?@user1702457不变性是多线程处理的一个有用属性,但更一般地说,它只允许您对对象的状态进行推理,这允许您知道单线程代码也以特定的方式工作。