this關(guān)鍵字
記住一點:每一個方法都會默認傳入一個變量叫this,它永遠指向調(diào)用它的【當前實例】。
(1) this訪問屬性和方法
寫段代碼:
//構(gòu)造方法和其他方法一樣可以重載,可以有參數(shù),名字必須和類名一 樣,不能有一點區(qū)別public Dog(String name){System.out.println("驗證構(gòu)造方法被調(diào)用的時機:【"+ name + "】被創(chuàng)建! ");this.name = name;}public void eat(){// this也可以在成員方法中使用System.out.printf("【%s】再吃骨頭。 ",this.name); }public static void main(String[] args) {//直接new對象看看new的時候是不是調(diào)用了構(gòu)造方法,事實證明 是的new Dog("哈士奇").eat();}
一個方法只有在調(diào)用的時候,才能明確方法中的【this】具體指向哪個實例對象。
我們可以使用this訪問當前對象的方法和屬性。
java程序員必備的基礎(chǔ)知識_java面向?qū)ο笾畉his關(guān)鍵字
(2) this訪問構(gòu)造器
還可以訪問當前類的構(gòu)造器:
//構(gòu)造方法和其他方法一樣可以重載,可以有參數(shù),名字必須和類名一樣,不能有一點區(qū)別public Dog(String name){System.out.println("驗證構(gòu)造方法被調(diào)用的時機:【"+ name + "】被創(chuàng)建! ");this.name = name;}public Dog(){this("default");}
如果我們使用無參構(gòu)造會傳入一個默認值,這就是典型的案例
注意:this當做構(gòu)造器只能放在第一行