亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

鏈接到外部類

2019-11-18 12:08:11
字體:
來源:轉載
供稿:網友

  迄今為止,我們見到的內部類好象僅僅是一種名字隱藏以及代碼組織方案。盡管這些功能非常有用,但似乎并不非凡引人注目。然而,我們還忽略了另一個重要的事實。創建自己的內部類時,那個類的對象同時擁有指向封裝對象(這些對象封裝或生成了內部類)的一個鏈接。所以它們能訪問那個封裝對象的成員——毋需取得任何資格。除此以外,內部類擁有對封裝類所有元素的訪問權限(注釋②)。下面這個例子闡示了這個問題:
  
  //: Sequence.java
  // Holds a sequence of Objects
  
  interface Selector {
   boolean end();
   Object current();
   void next();
  }
  
  public class Sequence {
   PRivate Object[] o;
   private int next = 0;
   public Sequence(int size) {
    o = new Object[size];
   }
   public void add(Object x) {
    if(next < o.length) {
     o[next] = x;
     next++;
    }
   }
   private class SSelector implements Selector {
    int i = 0;
    public boolean end() {
     return i == o.length;
    }
    public Object current() {
     return o[i];
    }
    public void next() {
     if(i < o.length) i++;
    }
   }
   public Selector getSelector() {
    return new SSelector();
   }
   public static void main(String[] args) {
    Sequence s = new Sequence(10);
    for(int i = 0; i < 10; i++)
     s.add(Integer.toString(i));
    Selector sl = s.getSelector();  
    while(!sl.end()) {
     System.out.println((String)sl.current());
     sl.next();
    }
   }
  } ///:~
  
  ②:這與C++“嵌套類”的設計頗有不同,后者只是一種單純的名字隱藏機制。在C++中,沒有指向一個封裝對象的鏈接,也不存在默認的訪問權限。
  
  其中,Sequence只是一個大小固定的對象數組,有一個類將其封裝在內部。我們調用add(),以便將一個新對象添加到Sequence末尾(假如還有地方的話)。為了取得Sequence中的每一個對象,要使用一個名為Selector的接口,它使我們能夠知道自己是否位于最末尾(end()),能觀看當前對象(current() Object),以及能夠移至Sequence內的下一個對象(next() Object)。由于Selector是一個接口,所以其他許多類都能用它們自己的方式實現接口,而且許多方法都能將接口作為一個自變量使用,從而創建一般的代碼。
  
  在這里,SSelector是一個私有類,它提供了Selector功能。在main()中,大家可看到Sequence的創建過程,在它后面是一系列字串對象的添加。隨后,通過對getSelector()的一個調用生成一個Selector。并用它在Sequence中移動,同時選擇每一個項目。
  
  從表面看,SSelector似乎只是另一個內部類。但不要被表面現象迷惑。請注重觀察end(),current()以及next(),它們每個方法都引用了o。o是個不屬于SSelector一部分的句柄,而是位于封裝類里的一個private字段。然而,內部類可以從封裝類訪問方法與字段,就象已經擁有了它們一樣。這一特征對我們來說是非常方便的,就象在上面的例子中看到的那樣。
  
  因此,我們現在知道一個內部類可以訪問封裝類的成員。這是如何實現的呢?內部類必須擁有對封裝類的特定對象的一個引用,而封裝類的作用就是創建這個內部類。隨后,當我們引用封裝類的一個成員時,就利用那個(隱藏)的引用來選擇那個成員。幸運的是,編譯器會幫助我們照管所有這些細節。但我們現在也可以理解內部類的一個對象只能與封裝類的一個對象聯合創建。在這個創建過程中,要求對封裝類對象的句柄進行初始化。若不能訪問那個句柄,編譯器就會報錯。進行所有這些操作的時候,大多數時候都不要求程序員的任何介入。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
搡老女人一区二区三区视频tv| 亚洲色图偷窥自拍| 亚洲第一区中文字幕| 亚洲日本aⅴ片在线观看香蕉| 国产欧美一区二区三区在线| 一本色道久久综合亚洲精品小说| 日韩网站在线观看| 日韩欧美福利视频| 操91在线视频| 欧美国产日韩中文字幕在线| 69久久夜色精品国产69乱青草| 97人人模人人爽人人喊中文字| 中文日韩电影网站| 北条麻妃久久精品| 亚洲成av人乱码色午夜| 欧美亚洲视频在线观看| 51视频国产精品一区二区| 欧美在线亚洲一区| 亚洲人成电影网站色| 国产精品自拍网| 国产欧美精品一区二区| 97在线免费观看视频| 成人黄色大片在线免费观看| 亚洲女成人图区| 日韩高清av在线| 欧美在线视频在线播放完整版免费观看| 狠狠做深爱婷婷久久综合一区| 久久久伊人欧美| 国产91露脸中文字幕在线| 国产区精品视频| 国产999精品| 午夜精品久久久久久99热软件| 国产精品视频专区| 日韩一中文字幕| 日本精品免费一区二区三区| xvideos国产精品| 国产日本欧美一区二区三区| 精品国产欧美一区二区三区成人| 欧美色欧美亚洲高清在线视频| 日韩a**站在线观看| 亚洲色图综合久久| 成人做爰www免费看视频网站| 精品动漫一区二区| 伊人久久久久久久久久久久久| 欧美高清在线视频观看不卡| 欧美三级xxx| 狠狠操狠狠色综合网| 中文字幕在线亚洲| 亚洲三级 欧美三级| 午夜精品国产精品大乳美女| 日本国产欧美一区二区三区| 国产精品国产三级国产专播精品人| 91久久在线观看| 精品久久久久久久久久| 国产精品爱啪在线线免费观看| 亚洲美女性生活视频| 中文字幕亚洲综合久久筱田步美| 欧美猛交ⅹxxx乱大交视频| 成人午夜在线视频一区| 中文字幕日韩专区| 欧美体内谢she精2性欧美| 亚洲欧洲国产伦综合| 操日韩av在线电影| 国产成人涩涩涩视频在线观看| 亚洲天堂精品在线| 亚洲欧美制服丝袜| 81精品国产乱码久久久久久| 国产精品偷伦免费视频观看的| 欧美日韩中文字幕日韩欧美| 日韩大片免费观看视频播放| 亚洲国产精品国自产拍av秋霞| 综合国产在线视频| 97av在线视频免费播放| 精品国产福利视频| 欧美激情国产日韩精品一区18| 亚洲区免费影片| 精品呦交小u女在线| 国产精品日韩在线观看| 91九色在线视频| 亚洲免费电影一区| 亚洲欧美一区二区三区四区| 国产91对白在线播放| 亚洲欧美一区二区激情| 欧亚精品中文字幕| 日本久久中文字幕| 成人国产精品久久久| 亚洲丝袜一区在线| 亚洲理论在线a中文字幕| 91精品在线播放| 欧美精品生活片| 精品国产1区2区| 69**夜色精品国产69乱| 国产亚洲视频中文字幕视频| 91免费视频网站| 在线成人激情黄色| 国产ts一区二区| 中文字幕一精品亚洲无线一区| 国产综合在线看| 久久亚洲精品中文字幕冲田杏梨| 成人激情综合网| 日韩动漫免费观看电视剧高清| 国产精品嫩草视频| 欧美精品videos另类日本| 久久久久久久久久久网站| 欧美精品久久久久久久久久| 久久久久久香蕉网| 91精品视频观看| 亚洲自拍另类欧美丝袜| 国产热re99久久6国产精品| 97成人精品视频在线观看| 国产69精品久久久久9999| 国产精品久久久久久久一区探花| 国产一区二区色| 久久视频中文字幕| 成人在线播放av| 中文.日本.精品| 日本中文字幕不卡免费| 欧美大尺度电影在线观看| 91久久精品美女| 亚洲黄色成人网| 日本免费一区二区三区视频观看| 日韩性生活视频| 国产热re99久久6国产精品| 亚洲无线码在线一区观看| 性欧美暴力猛交69hd| 亚洲欧美国产视频| 中文字幕亚洲一区在线观看| 欧美wwwxxxx| 亚洲国产精品网站| 国产精品精品久久久久久| 欧美日韩国产精品一区二区不卡中文| 欧美风情在线观看| 国产午夜精品一区二区三区| 国产精品草莓在线免费观看| 国产成人精品一区二区三区| 成人免费观看网址| 国产精品男人爽免费视频1| 精品久久久久久久久久国产| 日韩成人性视频| 久久亚洲精品中文字幕冲田杏梨| 91亚洲精品在线| 欧美日韩在线观看视频| 在线播放精品一区二区三区| 日韩在线免费视频观看| 热久久这里只有精品| 成人午夜在线影院| 91精品视频大全| 在线观看国产欧美| 激情亚洲一区二区三区四区| 日韩欧美一区二区三区| 亚洲色图美腿丝袜| 久久久人成影片一区二区三区| 欧美黄色片免费观看| 成人福利视频在线观看| 成人黄色av网| 成人国产精品久久久久久亚洲| 欧美大肥婆大肥bbbbb| 国产精品久久999| 欧美精品xxx| 亚洲精品久久视频| 欧美激情一区二区三区高清视频| 国产精品视频网| 国产精品三级美女白浆呻吟| 黄网动漫久久久|