this的作用:
1. 構造函數之間的調用要用到this。
2. 可以用this標識哪個變量是成員變量,這個標識可以省略不寫。但是,當局部變量和成員變量同名時,必須用this.來 標識成員變量。
public class Person {
private String name;
private int age;
public void speak() {
String name="HAHA";
System.out.println("name="+this.name+",age="+this.age);//this.name爲成員變量的name
System.out.println("name="+name+",age="+this.age);//此時的name爲speak的局部變量name="HAHA"
}
}
參數和局部變量同名時,要用this。如下面這個例子:
public class Person {
private String name;
private int age;
Person(String name,int age)
{
name=name;//這相當與參數name給自己賦值。所以成員變量根本沒有賦上我們想讓它賦的值。所以應該改成this.name=name,下面的age也是。
age=age;
}
public void speak() {
System.out.println("name="+this.name+",age="+this.age);
}
}
結果:name=null,age=0
練習:判斷是否兩人爲同齡人。
public boolean equalsAge(Person pp)
{
if(pp.age==this.age)
return true;
else
return false;
}
其實上面可以寫簡單點:
public boolean equalsAge(Person pp)
{
return pp.age==this.age?true:false;
}
還可以更簡潔:
public boolean equalsAge(Person pp)
{
return pp.age==this.age;
}