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

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

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

    java Source

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      14 Posts :: 24 Stories :: 8 Comments :: 0 Trackbacks

    內(nèi)部類是Java語(yǔ)言一個(gè)重要的基本特性,在Java開發(fā)的許多領(lǐng)域都會(huì)經(jīng)常用到。內(nèi)部類的定義說簡(jiǎn)單一點(diǎn)就是將一個(gè)類定義在另外一個(gè)類的內(nèi)部。內(nèi)部類允許你把一些邏輯相關(guān)的類組織在一起,控制內(nèi)部類代碼的可視性,它和類的組合是完全不同的概念。內(nèi)部類主要有以下比較關(guān)鍵的特性:

     

    1.  普通的非內(nèi)部類不能被聲明為privateprotected,否則就失去了創(chuàng)建該類的意義。但是內(nèi)部類通常可以被聲明為privateprotected類型,因?yàn)檫@樣可以防止他人對(duì)該內(nèi)部類實(shí)現(xiàn)的功能進(jìn)行修改,達(dá)到隱藏實(shí)現(xiàn)細(xì)節(jié)的目的。例如:

    class Fruit {

      private class Weight {

    private String i;

    private Weight(String j) {

      i = j;

    }

    public String read() {

      return i;

    }

    }

    }

    class test {

      public static void main(String[] args) {

    Fruit f = new Fruit();

    f.Weight w = f.new Weight(); //不能訪問private類,如果Weightprotected類型則可以

    }

    }

    2.  在方法或某控制語(yǔ)句(if/for/while)的作用域內(nèi)定義內(nèi)部類,將只能在該范圍內(nèi)調(diào)用內(nèi)部類的方法和成員變量。

    3.  匿名內(nèi)部類是一種特殊的內(nèi)部類,如果希望它使用一個(gè)在其外部定義的對(duì)象,那么編譯器會(huì)要求其參數(shù)引用是final的。

    public class Fruit {

      public Tea cont(final int j) {

    return new Tea() {

      private int i = j;

      public int read() {

        return i;

    }

    }; //注意這里的分號(hào)

    }

    public static void main(String[] args) {

      Fruit f = new Fruit();

      Tea t = f.cont;

    }

    }

    而當(dāng)方法cont(final int j)中的參數(shù)j只是被傳遞到匿名類中的構(gòu)造器時(shí),可以不用被聲明為final類型,如return new Tea(j)。這里提到了匿名內(nèi)部類的構(gòu)造器,那么它是怎么被初始化的呢?

    public class Fruit {

      public Tea cont(int j) {

    return new Tea(j) {

    System.out.println(j);

    };

    }

    }

             還可以這樣初始化匿名內(nèi)部類:

    public class Fruit {

      public Tea cont(final int j) {

    return new Tea(j) {

      int i;

      // 初始化匿名內(nèi)部類

      {

      i = j;

      System.out.print(i);

    }

    };

    }

    }

             方法cont()可以被稱為實(shí)例初始化方法,使得匿名內(nèi)部類通過構(gòu)造器而被初始化,在實(shí)際應(yīng)用中,我們不能重載實(shí)例初始化方法,因?yàn)槟涿麅?nèi)部類只能有一個(gè)構(gòu)造方法。
    posted on 2005-11-15 14:23 JustinLei 閱讀(392) 評(píng)論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲av最新在线网址| 免费人成在线观看网站视频| 18女人水真多免费高清毛片| 性xxxx视频播放免费| 亚洲日韩中文字幕日韩在线| 亚洲精品网站在线观看你懂的| 国产精品无码亚洲一区二区三区| 日本免费久久久久久久网站| 精品免费国产一区二区| 久久精品视频亚洲| 久久久精品午夜免费不卡| 无码国产亚洲日韩国精品视频一区二区三区| 久久亚洲国产伦理| 免费看内射乌克兰女| 成年美女黄网站色大免费视频 | 免费无码黄十八禁网站在线观看| www国产亚洲精品久久久| 午夜成人无码福利免费视频| 免费在线看v网址| 亚洲AV人无码激艳猛片| 一区二区三区福利视频免费观看| 国产精品亚洲产品一区二区三区| 中文毛片无遮挡高清免费| 免费爱爱的视频太爽了| 免费一级做a爰片久久毛片潮| 亚洲日韩在线中文字幕第一页| 男女午夜24式免费视频 | 亚洲AV日韩综合一区尤物| 久久久久久AV无码免费网站下载| 亚洲最大成人网色| 中文字幕一区二区免费| 亚洲日本韩国在线| 亚洲视频在线观看免费| 一本色道久久88—综合亚洲精品| 日韩在线播放全免费| 97久久精品亚洲中文字幕无码 | 久久精品国产亚洲一区二区三区 | a高清免费毛片久久| 亚洲国模精品一区| 四虎精品成人免费视频| 亚洲一二成人精品区|