<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    BlogJava 聯(lián)系 聚合 管理  

    Blog Stats

    隨筆檔案

    exams


    java世界

    世界Java

    . this是指當(dāng)前對象自己。
    當(dāng)在一個類中要明確指出使用對象自己的的變量或函數(shù)時就應(yīng)該加上this引用。如下面這個例子中:
    public class A {
    String s = " MCP certifications ";
    public A(String s) {
    System.out.println("s = " + s);
    System.out.println("1 -> this.s = " + this.s);
    this.s = s;
    System.out.println("2 -> this.s = " + this.s);
    }

    public static void main(String[] args) {
    new A(" MCP Bootcamp ");
    }
    }

    運行結(jié)果s =  MCP Bootcamp
    1 -> this.s =   MCP certifications
    2 -> this.s =  MCP Bootcamp !
    在這個例子中,構(gòu)造函數(shù)A中,參數(shù)s與類A的變量s同名,這時如果直接對s進(jìn)行操作則是對參數(shù)s進(jìn)行操作。若要對類A的變量s進(jìn)行操作就應(yīng)該用this進(jìn)行引用。運行結(jié)果的第一行就是直接對參數(shù)s進(jìn)行打印結(jié)果;后面兩行分別是對對象A的變量s進(jìn)行操作前后的打印結(jié)果。

    2. 把this作為參數(shù)傳遞
    當(dāng)你要把自己作為參數(shù)傳遞給別的對象時,也可以用this。如:
    public class A {
    public A() {
    new B(this).print();
    }
    public void print() {
    System.out.println("Hello from A!");
    }
    }
    public class B {
    A a;
    public B(A a) {
    this.a = a;
    }
    public void print() {
    a.print();
    System.out.println("Hello from B!");
    }
    }
    運行結(jié)果:
    Hello from A!
    Hello from B!
    在這個例子中,對象A的構(gòu)造函數(shù)中,用new B(this)把對象A自己作為參數(shù)傳遞給了對象B的構(gòu)造函數(shù)。

    3. 注意匿名類和內(nèi)部類中的中的this。
    有時候,我們會用到一些內(nèi)部類和匿名類。當(dāng)在匿名類中用this時,這個this則指的是匿名類或內(nèi)部類本身。這時如果我們要使用外部類的方法和變量的話,則應(yīng)該加上外部類的類名。如下面這個例子:
    public class A {
    int i = 1;
    public A() {
    Thread thread = new Thread() {
    public void run() {
    for(;;) {
    A.this.run();
    try {
    sleep(1000);
    } catch(InterruptedException ie) {
    }
    }
    }
    };
    thread.start();

    public void run() {
    System.out.println("i = " + i);
    i++;
    }
    public static void main(String[] args) throws Exception {
    new A();
    }
    }
    在上面這個例子中, thread 是一個匿名類對象,在它的定義中,它的 run 函數(shù)里用到了外部類的 run 函數(shù)。這時由于函數(shù)同名,直接調(diào)用就不行了。這時有兩種辦法,一種就是把外部的 run 函數(shù)換一個名字,但這種辦法對于一個開發(fā)到中途的應(yīng)用來說是不可取的。那么就可以用這個例子中的辦法用外部類的類名加上 this 引用來說明要調(diào)用的是外部類的方法 run。
    posted on 2007-08-31 14:32 java2java 閱讀(558) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲成A人片77777国产| 永久免费av无码网站韩国毛片| 国产美女做a免费视频软件| 亚洲乱码一区av春药高潮| 无码专区AAAAAA免费视频| 亚洲男人的天堂在线播放| 四虎影视成人永久免费观看视频| 亚洲国产精品无码av| 久久青青草原国产精品免费| 亚洲福利视频导航| 性无码免费一区二区三区在线| 亚洲视频一区在线| 亚洲国产精品免费观看| 亚洲依依成人亚洲社区| 国产午夜免费秋霞影院| 一本一道dvd在线观看免费视频| 在线A亚洲老鸭窝天堂| 国产免费爽爽视频在线观看| 亚洲自偷自拍另类图片二区| 4hu四虎最新免费地址| 亚洲国产午夜精品理论片在线播放| 国产精品免费_区二区三区观看| 乱人伦中文视频在线观看免费| 久久久久亚洲精品男人的天堂 | 亚洲国产精华液2020| 亚洲av无码国产精品色在线看不卡| 男女交性无遮挡免费视频| 亚洲一区二区三区影院| 亚洲国产精品免费在线观看| 亚洲日韩精品无码AV海量| 亚洲精品国产精品国自产观看| 伊人久久大香线蕉免费视频| 久久精品国产亚洲av麻豆图片| 日韩亚洲国产二区| 久久久高清日本道免费观看| 亚洲综合丁香婷婷六月香| 亚洲福利精品一区二区三区| 中文字幕在线免费观看| 免费一区二区三区在线视频| 亚洲精品午夜视频| 亚洲午夜爱爱香蕉片|