this關鍵字

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;
		
	}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章