国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

引用外部類對(duì)象

2019-11-18 12:08:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  若想生成外部類對(duì)象的句柄,就要用一個(gè)點(diǎn)號(hào)以及一個(gè)this來(lái)命名外部類。舉個(gè)例子來(lái)說(shuō),在Sequence.SSelector類中,它的所有方法都能產(chǎn)生外部類Sequence的存儲(chǔ)句柄,方法是采用Sequence.this的形式。結(jié)果獲得的句柄會(huì)自動(dòng)具備正確的類型(這會(huì)在編譯期間檢查并核實(shí),所以不會(huì)出現(xiàn)運(yùn)行期的開(kāi)銷)。
  
  有些時(shí)候,我們想告訴其他某些對(duì)象創(chuàng)建它某個(gè)內(nèi)部類的一個(gè)對(duì)象。為達(dá)到這個(gè)目的,必須在new表達(dá)式中提供指向其他外部類對(duì)象的一個(gè)句柄,就象下面這樣:
  
  //: Parcel11.java
  // Creating inner classes
  package c07.parcel11;
  
  public class Parcel11 {
   class Contents {
    PRivate int i = 11;
    public int value() { return i; }
   }
   class Destination {
    private String label;
    Destination(String whereTo) {
     label = whereTo;
    }
    String readLabel() { return label; }
   }
   public static void main(String[] args) {
    Parcel11 p = new Parcel11();
    // Must use instance of outer class
    // to create an instances of the inner class:
    Parcel11.Contents c = p.new Contents();
    Parcel11.Destination d =
     p.new Destination("Tanzania");
   }
  } ///:~
  
  為直接創(chuàng)建內(nèi)部類的一個(gè)對(duì)象,不能象大家或許猜想的那樣——采用相同的形式,并引用外部類名Parcel11。此時(shí),必須利用外部類的一個(gè)對(duì)象生成內(nèi)部類的一個(gè)對(duì)象:
  
  Parcel11.Contents c = p.new Contents();
  
  因此,除非已擁有外部類的一個(gè)對(duì)象,否則不可能創(chuàng)建內(nèi)部類的一個(gè)對(duì)象。這是由于內(nèi)部類的對(duì)象已同創(chuàng)建它的外部類的對(duì)象“默默”地連接到一起。然而,假如生成一個(gè)static內(nèi)部類,就不需要指向外部類對(duì)象的一個(gè)句柄。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东阳市| 东阿县| 惠州市| 镇康县| 赣州市| 大荔县| 肥东县| 通辽市| 施秉县| 辽宁省| 渝北区| 大同市| 广宁县| 永定县| 土默特右旗| 石门县| 弥勒县| 夏津县| 资兴市| 伊吾县| 桑植县| 延长县| 大厂| 焦作市| 伽师县| 哈尔滨市| 峨眉山市| 铜陵市| 商都县| 宿松县| 苏尼特左旗| 金寨县| 漠河县| 呼伦贝尔市| 陆川县| 石景山区| 保康县| 集安市| 溧阳市| 卫辉市| 石阡县|