![](/img/trans.png)
[英]why can't i call variable from other class using object.variable_name?
[英]What is the use of Constructor in Java when you can call class variable using object.(variable_name)?
在下面的示例中,我们可以使用构造函数即 this 关键字或通过 object 初始化 class 变量。 有人可以回答为什么我们使用构造函数来传递值或初始化变量:
public class Car {
String color;
int price;
public static void main(String[] args) {
Car obj = new Car();
obj.color = "Red";
obj.price = 80;
System.out.println(obj.color + " "+ obj.price);
Car obj1 = new Car();
obj1.color = "White";
obj1.price = 70;
System.out.println(obj1.color+" "+obj1.price);
}
}
你可以,但你不应该。 构造函数有助于保持 object 的完整性。
当您将初始化序列放入构造函数时,您确保 object 将是一致的。 当您将初始化放在外面时,您将控制权委托给可能不知道您的 class 要求的其他实体。
例如,在您的示例中,您可以实例化没有颜色或价格的汽车,这可能是您的 model 的要求。 在更复杂的示例中,可能难以保持所有 object 字段一致,尤其是在您有计算字段的情况下。 这就是为什么这是一种可能导致错误的不良做法。
此外,不建议从外部访问 class 字段。 在 java 中,最好使用 get 和 set 方法,因为它提供了更多控制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.