第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

創(chuàng)建類對象

為什么在創(chuàng)建內(nèi)部類對象之前要先創(chuàng)建外部類對象,而不能直接用Inner i=HelloWorld.new Inner();

正在回答

2 回答

先說=的左邊?

Inner是內(nèi)部類 是有所屬的外部類的你標(biāo)識出內(nèi)部類所屬的外部類,java不知道去哪里找這個內(nèi)部類所以=的左邊是 Outer.Inner i?

再說=的右邊?

內(nèi)部類你可以看成是外部類的一個成員,你調(diào)用外部類的成員時(如方法) 必須先創(chuàng)建外部類的對象,然后通過對象來調(diào)用,所以你調(diào)用內(nèi)部類也必須有一個外部類的對象 所以=的右邊應(yīng)該是new Outer().new Inner()

另外.如果內(nèi)部類是靜態(tài)的

也就相當(dāng)與是靜態(tài)成員,也就就不需要創(chuàng)建外部對象 ?=的右邊直接 new Outer.Inner()即可

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

魯文杰 提問者

非常感謝!
2015-09-19 回復(fù) 有任何疑惑可以回復(fù)我~

你這里的Inner是一個靜態(tài)內(nèi)部類吧!你把這個內(nèi)部類想象成一個普通的靜態(tài)方法、或者是靜態(tài)屬性,那么你要怎么去調(diào)用這個方法和屬性?那肯定是類名.方法(或?qū)傩裕罕热鏗elloWorld.print();那么靜態(tài)內(nèi)部類也是一樣,你要聲明它的對象,得用外部類名去調(diào)用:即HelloWorld.new Inner();

然后前面加上new:new ? ? ? ? ??HelloWorld.new Inner();(不是new HelloWorld ? ? ? ? .new Inner);

你看一下這個代碼,里面有四種內(nèi)部類對象的聲明,把他們想成一個方法,這樣一個方法該怎么去調(diào)用,那么這個類就如何去聲明。代碼如下:

package com.briup.pojo;


public class InnerClassTest {

????public void Test(){

?????class LocalInner{ ???????????????????????????????? //局部內(nèi)部類,與局部變量類似,只能在此方法里聲明

????LocalInner li = new LocalInner();????????? ? //聲明局部內(nèi)部類

}

}

public void getStudent(){

????Adb a = ?new Adb(){ ???????????????????????????? //匿名內(nèi)部類,沒有名字的內(nèi)部類,定義類時就同時聲明了

????????????????????????????????????????????????????????????????? ? //Adb是一個抽象類,最下面有代碼

????};

}

public static class StaticInner{????????????//靜態(tài)內(nèi)部類,想象靜態(tài)方法是怎么調(diào)用的

????

}

}

class MemberInner{???????????????????????????? //成員內(nèi)部類,你可以把它理解成一個特殊的屬性


}

}

public static void main(String[] args) {

StaticInner s = new ? ? ? ? ? InnerClassTest.StaticInner();????????//聲明靜態(tài)內(nèi)部類

MemberInner m = (new InnerClassTest()).new MemberInner(); ? ?//聲明成員內(nèi)部類

}


}

---------------------------

package com.briup.pojo;

public abstract class Adb{

}

把內(nèi)部類與處于同樣位置的方法、屬性類比,就知道如何去聲明了。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學(xué)習(xí)       531099    人
  • 解答問題       6280    個

課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙

進入課程

創(chuàng)建類對象

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號