我目前正在阅读有关this
关键字的内容,并且不明白为什么这样做会有用:
this.object = object;
(object
是一个随机变量。我只是不明白为什么我们喜欢,this.xxx = xxx
)
请帮帮我!
答案 0 :(得分:0)
有必要指定您要将值分配给字段,而不是参数或局部变量:
public void setFoo(Foo foo) {
this.foo = foo;
^ ^
| \--- Take the value of the parameter
\---- Assign to the field
}
如果您刚刚写道:
foo = foo;
在上面,它不会做任何事情 - 它会将参数的值分配回参数。
然而,另一个选择是使用不同的参数名称:
public void setFoo(Foo newFoo) {
foo = newFoo;
}
现在字段和参数有不同的名称,因此您无需另找方法来区分它们。
答案 1 :(得分:0)
想象有一个像
这样的二传手private Object obj;
public void setObject (Object obj)
{
this.obj = obj;
}
此this
将对象范围限定在类字段中,否则使用
obj = obj;
您将同一个对象设置为同一个对象。