![](/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.