首页 > 解决方案 > 在java中的方法中使用“this”

问题描述

是否还需要使用“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 就可以了?

标签: java

解决方案


关键字this是指类的当前实例。因此,在您的情况下,没有必要使用它,this.fieldName因为您没有另一个变量来隐藏实例字段。

但是考虑一下您需要使用的这种情况this

public boolean isOnLine(int a, int b){

    return this.a * a + this.b * a + c == 0;
}

这里的局部变量ab正在遮蔽实例字段ab。如果不使用this,a将仅引用局部变量而不是实例字段。


推荐阅读