this用于区分局部变量和成员变量
TriAngleTest Class:
public class TriAngleTest
{
public static void main(String[] args)
{
TriAngle triAngle = new TriAngle();
triAngle.setBase(10);
triAngle.setHeight(9);
triAngle.show();
}
}
不加this
TriAngle Class:
public class TriAngle
{
private int base;
private int height;
public void setBase(int base)
{
base = base;
}
public void setHeight(int height)
{
height = height;
}
public void show()
{
System.out.println("base:" + base + "this.base:" + this.base);
System.out.println("base:" + height + "this.base:" + this.height);
}
}
打印结果:
base:0 this.base:0
base:0 this.base:0
加this
TriAngle Class:
public class TriAngle
{
private int base;
private int height;
public void setBase(int base)
{
this.base = base;
}
public void setHeight(int height)
{
this.height = height;
}
public void show()
{
System.out.println("base:" + base +"\t"+ "this.base:" + this.base);
System.out.println("base:" + height + "\t"+"this.base:" + this.height);
}
}
打印结果:
base:10 this.base:10
base:9 this.base:9
其中this.base = base
相当于this.base = 10;
this就相当于triAngle对象,即当前调用者对象
补充解释:https://zhidao.baidu.com/question/623632755849365884.html?qbl=relate_question_1&word=Java%20this%CF%E0%B5%B1%D3%DA%B6%D4%CF%F3%C2%F0