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

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

請問成員內(nèi)部類和方法內(nèi)部類的區(qū)別是什么?好混亂

請問成員內(nèi)部類和方法內(nèi)部類的區(qū)別是什么?好混亂

正在回答

2 回答

1.成員內(nèi)部類:

class?Outer?{
????class?Inner{
????
????}
}

編譯上述代碼會產(chǎn)生兩個文件:Outer.class和Inner.class


2.方法內(nèi)部類:

把類放在方法內(nèi)

class?Outer?{
????public?void?doSomething(){
????????class?Inner{
????????public?void?seeOuter(){
????????}
????????}
????}
}

(1)方法內(nèi)部類只能在定義該內(nèi)部類的方法內(nèi)實例化,不可以在此方法外對其實例化。

(2)方法內(nèi)部類對象不能使用該內(nèi)部類所在方法的非final局部變量。

因為方法的局部變量位于棧上,只存在于該方法的生命期內(nèi)。當一個方法結(jié)束,其棧結(jié)構(gòu)被刪除,局部變量成為歷史。但是該方法結(jié)束之后,在方法內(nèi)創(chuàng)建的內(nèi)部類對象可能仍然存在于堆中!如果對它的引用被傳遞到其他某些代碼,并存儲在一個成員變量內(nèi)。正因為不能保證局部變量的存活期和方法內(nèi)部類對象的一樣長,所以內(nèi)部類對象不能使用它們。


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

慕后端0385330 提問者

謝謝你
2015-03-06 回復(fù) 有任何疑惑可以回復(fù)我~

成員內(nèi)部類是直接定義在類中的類,和成員變量和方法并列;而方法內(nèi)部類是定義在方法中的類。例如:

class?Outter{
????private?int?id;
????//?這個是成員內(nèi)部類,與成員變量和方法地位同等
????class?MemberInner{
????????……
????}
????private?void?say(){
????????……
????}
????private?void?print(){
????????//?這個是方法內(nèi)部類,定義在方法內(nèi)部
????????class?MethodInner{
????????????……
????????}
????}
}


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

慕后端0385330 提問者

謝謝你
2015-03-06 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

請問成員內(nèi)部類和方法內(nèi)部類的區(qū)別是什么?好混亂

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

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

幫助反饋 APP下載

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

公眾號

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