使用局部变量分配实例变量 - Java

Joã*_*ues 3 java object instance-variables local-variables

当你将一个本地字符串的值赋给一个类的实例变量时,它是否创建了一个新对象(String)?

public void setNumber(String number){
    if(number == null || number.length() != 9)
        return;
    this.number = number;
}
Run Code Online (Sandbox Code Playgroud)

这样做隐式工作是这样的:

this.number = new String(number);
Run Code Online (Sandbox Code Playgroud)

Ous*_* D. 5

需要理解的重要细节是,当您将 aString作为参数传递给setNumber方法时,您不是在传递对象,而是在传递引用,因此当您这样做时

this.number = number;
Run Code Online (Sandbox Code Playgroud)

您将引用作为参数传递,然后将其分配给this.number变量。

上述语句中没有隐式对象构造。