java物件導向編程(三)--this

來源:互聯網
上載者:User

標籤:style   blog   color   java   使用   strong   ar   div   

看一段代碼:(Demo112.java),先瞭解為什麼要使用this。

/*    this的必要性*/public class Demo112{    public static void main(String []args){        Dog dog1=new Dog(2,"大黃");        Person p1=new Person(dog1,23,"剛子");        Person p2=new Person(dog1,24,"小龍");        p1.showInfo();            p1.dog.showInfo();    }}//定義一個人類class Person{    //成員變數    int age;    String name;    Dog dog;//參考型別 
 
//人類的建構函式    public Person(Dog dog,int age,String name){        //如此書寫可讀性很差,不知道兩個age哪個指參數列表中的,哪個指成員變數中的。         //age=age;        //name=name;
        //引入this,讓它指向當前對象。        this.age=age;   //this.age指定的是成員變數age        this.name=name; //this.name指定的是成員變數name        this.dog=dog;    }    //顯示人名字    public void showInfo(){        System.out.println("人名是:"+this.name);    }}class Dog{    int age;    String name;    public Dog(int age,String name){        this.age=age;        this.name=name;    }    //顯示狗名    public void showInfo(){        System.out.println("狗名叫"+this.name);    }}

從案例中看出,引入thsi是必要的。this是屬於一個對象,不屬於類的,但它不能在類定義的外部使用,只能在類定義的方法中使用。java虛擬機器會給每個對象分配this,代表當前對象。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.