1. 程式人生 > >05.Java面向物件——this關鍵字

05.Java面向物件——this關鍵字

舉個栗子:

class Person {
	String name;
	int age;
	public Person(String con_name, int con_age) {
		name = con_name; // 為name屬性賦值
		age = con_age; // 為age屬性賦值
	}
}

表示年齡:

  • 構造方法中使用con_age
  • 成員變數使用age

帶來的問題——程式的可讀性很差,最好將一個類中表示年齡的變數都用age表示,但是會導致成員變數與區域性變數衝突,無法將年齡傳給age。為了解決上述問題,引入this

this的三大作用

1、可以明確的訪問一個類的成員變數,解決與區域性變數名稱的衝突問題

class Person {
	int age;
	public Person(int age) {
	    this.age = age; // 構造方法中使用age,則是訪問區域性變數
        //“this.age”則是訪問成員變數
	}

	public int getAge(String con_name) {
		return this.age;
	}
}

2.呼叫成員函式

class Person {
	public void openMouth() {
		...
	}
	public void Speak() {
		this.openMouth();
	}
}

這裡的this可以省略不寫

3.呼叫成員函式(以後再說吧,不想學了)