一、基礎概念 1.關鍵字this是指:哪個對象調用this所在的函數。this就指向當前這個對象。 2.用法: (1).this關鍵字可以解決:構造函數私有化問題。 註意:構造函數只能被構造函數調用,不能直接被一般方法調用。 (2).this關鍵字可以用於構造函數間的調用,可以訪問本類中的其他構造函 ...
一、基礎概念
1.關鍵字this是指:哪個對象調用this所在的函數。this就指向當前這個對象。
2.用法:
(1).this關鍵字可以解決:構造函數私有化問題。
註意:構造函數只能被構造函數調用,不能直接被一般方法調用。
(2).this關鍵字可以用於構造函數間的調用,可以訪問本類中的其他構造函數。是為了初始化的復用。
註意:必須定義在構造函數的第一行!
不要出現互相調用,產生遞歸,容易棧溢出。
(3).this關鍵字用來區分局部變數和成員變數同名的情況。
註意:this關鍵字標識的成員變數。
二、代碼實例
class Person { private String name; private int age; Person() { name = "bady"; } Person(String n) { name = n; } Person(String name,int age) { this(name);//調用構造函數語句。 this.age = age;//this標識的成員變數。 } public void show1() { System.out.println("name="+name); } public void show2() { System.out.println("name="+name+",age"+age); } //傳遞一個Person對象,判斷是否為同齡人。 public boolean equalsAge(Person pp) { return pp.age == this.age; } } class ThisDemo { public static void main(String[] args) { Person p1 = new Person(); p1.show1(); Person p2 = new Person("xiaoming"); p2.show1(); Person p3 = new Person("xiaoming",20); p3.show2(); Person p4 = new Person("xiaohong",21); p4.show2(); //調用equalsAge方法,判斷p3和p4是否為同齡人。 boolean b = p3.equalsAge(p4); System.out.println("Whether or not the age is equal: "+b); } }
三、代碼運行