1. 程式人生 > 其它 >4-9面向物件程式設計(上)----關鍵字this的使用

4-9面向物件程式設計(上)----關鍵字this的使用

技術標籤:javajava

一、this是什麼?
1.在Java中,this關鍵字比較難理解,它的作用和其詞義很接近。
(1)它在方法內部使用,即這個方法所屬物件的引用;
(2)它在構造器內部使用,表示該構造器正在初始化的物件。
2.this表示當前物件,可以呼叫類的屬性、方法和構造器
3.什麼時候使用this關鍵字?
(1)當在方法內需要用到呼叫該方法的物件時,就用this。
具體的:我們可以用this來區分區域性變數和屬性。
比如: this.name = name;

二、說明
1.this可以用來修飾或呼叫:屬性、方法、構造器。
2.this修飾屬性和方法,可以理解為“當前物件”或“當前正在建立的物件”。

(1)在類的方法當中,我們可以使用“this.屬性”或“this.方法”的方式,呼叫當前物件屬性或方法。但是,通常情況下,我麼你都選擇省略“this."。特殊情況下,如果方法的形參和類的屬性同名時,我們必須顯示的使用“this.變數”的方式,表明此變數是屬性,而非形參。
(2)在類的構造器當中,我們可以使用“this.屬性”或“this.方法”的方式,呼叫當前正在建立的物件屬性或方法。但是,通常情況下,我麼你都選擇省略“this."。特殊情況下,如果構造器的形參和類的屬性同名時,我們必須顯示的使用“this.變數”的方式,表明此變數是屬性,而非形參。

三、this呼叫構造器

1.我們在類的構造器中,可以顯示的使用“this(形參列表)”方式,呼叫本類中指定的其他構造器。
2.構造器中不能通過“this(形參列表)”方式呼叫自己。
3.如果一個類中有n個構造器,則最u哦有 n - 1 構造器中使用了“this(形參列表)”。
4.規定:“this(形參列表)”必須宣告在當前構造器的首行。
5.構造器內部,最多隻能宣告一個“this(形參列表)”,用來呼叫其他的構造器。

程式碼:

public class PersonTest {
 public static void main(String[] args) {
  Person p1 = new Person()
; p1.setAge(1); System.out.println(p1.getAge()); p1.eat(); System.out.println(); Person p2 = new Person(18); System.out.println(p2.getAge()); } } class Person { private int age; private String name; //this---->當前正在建立的物件 public Person() { System.out.println("Person初始化時,要考慮好幾個條件,此處省略500行程式碼"); } public Person(String name){ this();//呼叫構造器 this.name = name; } public Person(int age) { this();//必須放在首行 this.age = age; } public Person(String name,int age) { this(age); this.name = name; } //this---->當前物件的 public void setAge(int age) { this.age = age; } public int getAge() { return age;//this.age } public void setName(String name) { this.name = name; } public String getName() { return name;//this.name } public void eat() { System.out.println("人吃飯"); study();//this.study(); } public void study() { System.out.println("人學習"); } }

輸出:

Person初始化時,要考慮好幾個條件,此處省略500行程式碼
1
人吃飯
人學習

Person初始化時,要考慮好幾個條件,此處省略500行程式碼
18