Java 我可以在类的构造函数中创建其他类的实例吗?
对不起,我说的模棱两可。编辑问题 我想在类A的构造函数中创建类B和类C的实例。Java 我可以在类的构造函数中创建其他类的实例吗?,java,constructor,instance,Java,Constructor,Instance,对不起,我说的模棱两可。编辑问题 我想在类A的构造函数中创建类B和类C的实例。 我想知道这样做的缺点是什么。是的,您可以将B和C的实例传递给A的构造函数。这种方法没有问题 我可以在构造函数中这样做吗 是的,像这样: class A { A(B b, C c) { /* do something with b and c */ } } 这种方法有什么问题吗 这是一个名为的模式,它是维护软件组件之间松散耦合的好方法 这并不是说你想不出有什么问题;只是这是一种广泛使用的模式。是的。没有问题,这叫
我想知道这样做的缺点是什么。是的,您可以将B和C的实例传递给A的构造函数。这种方法没有问题 我可以在构造函数中这样做吗 是的,像这样:
class A {
A(B b, C c) { /* do something with b and c */ }
}
这种方法有什么问题吗
这是一个名为的模式,它是维护软件组件之间松散耦合的好方法
这并不是说你想不出有什么问题;只是这是一种广泛使用的模式。是的。没有问题,这叫做依赖注入。这就是参数的用途。像普通方法一样的构造函数可以有参数,将参数传递给它是正常的。标题表示将其他类(B,C)的实例传递给a正好相反。因此,在标题中,您实际上询问了a的构造函数中类B和C的实例化,例如,关于在A的构造函数中创建B和C类型的对象(这很糟糕,导致紧密耦合)。标题应与问题中的标题相同。请使标题与问题一致。目前,标题与问题正好相反。