是否仍然需要使用“ this”。继续在类中调用变量?例如:
public class APLine {
private int a;
private int b;
private int c;
public APLine(int a, int b, int c){
this.a = a;
this.b = b;
this.c = c;
}
public double getSlope(){
return (double)this.a * - 1/ this.b;
}
public boolean isOnLine(int x, int y){
return this.a * x + this.b * y + this.c == 0;
}
}
对于方法getSlope()和isOnLine(),需要对this.a,this.b或this.c进行编码。还是完全没有必要,可以只使用a,b或c吗?
答案 0 :(得分:2)
关键字this
引用该类的当前实例。因此,在您的情况下,不必使用this.fieldName
,因为您没有另一个变量遮蔽实例字段。
但是考虑这种情况,您需要使用this
:
public boolean isOnLine(int a, int b){
return this.a * a + this.b * a + c == 0;
}
此处,局部变量a
和b
遮盖了实例字段a
和b
。如果您不使用this
,则a
只会引用本地变量而不是实例字段。