public class MotoXCellPhone {
//assume there's a speaker class
private BlueToothSpeaker speaker;
//why instantiate in constructor?
MotoXCellPhone() {
speaker = new BlueToothSpeaker();
}
//or if i instantiate in a method?
public BlueToothSpeaker useSpeaker() {
speaker = new BlueToothSpeaker();
return speaker;
}
}
我为什么要在另一个类的构造函数中实例化一个类?我还没有完全理解构图,所以我对所有事物的“为什么”都感到模糊
最佳答案
如果在方法中实例化它,则每次调用该方法时都会创建一个新的方法。如果那没有意义-如果您希望将一个BlueToothSpeaker
对象在其整个生命周期内都绑定到MotoXCellPhone
对象-那么您需要在构造函数中创建(或注入)它。