面向?qū)ο?-- 內(nèi)部類(lèi)

前言——任何一個(gè)類(lèi)都不在另一個(gè)類(lèi)的內(nèi)部,而在類(lèi)中定義的那個(gè)類(lèi)稱(chēng)為內(nèi)部類(lèi)。

一、內(nèi)部類(lèi)包括:成員內(nèi)部類(lèi)、局部?jī)?nèi)部類(lèi)、匿名內(nèi)部類(lèi)、靜態(tài)內(nèi)部類(lèi)、內(nèi)部類(lèi)的繼承。

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

概念:① 內(nèi)部類(lèi)可以隨便使用外部類(lèi)的成員方法、成員變量 ,無(wú)論是否被修飾為private。

② 內(nèi)部類(lèi)的實(shí)例一定要綁定在外部類(lèi)的實(shí)例上。

③內(nèi)部類(lèi)的成員,只有在內(nèi)部類(lèi) 的范圍可知,不能被外部類(lèi)使用。

2.局部?jī)?nèi)部類(lèi):

內(nèi)部了不僅可以在類(lèi)中進(jìn)行,也可以在類(lèi)的局部位置定義:如在類(lèi)的方法,或者任意的作用域中。

用this調(diào)用關(guān)鍵字獲取內(nèi)部類(lèi)與外部類(lèi)的引用。

3.匿名內(nèi)部類(lèi):

語(yǔ)法實(shí)現(xiàn):return new A ( ) { .../內(nèi)部類(lèi)體};分號(hào)代表創(chuàng)建方法引用表達(dá)式的標(biāo)識(shí)。

匿名內(nèi)部類(lèi)沒(méi)有名稱(chēng),一般在方法體中出現(xiàn)。

4.靜態(tài)內(nèi)部類(lèi):

內(nèi)部類(lèi)前加上static ,一個(gè)靜態(tài)內(nèi)部類(lèi)中可以聲明static成員,但是在非靜態(tài)內(nèi)部類(lèi)中不可以聲明靜態(tài)成員。不可以使用外部類(lèi)的非靜態(tài)成員。

5.內(nèi)部類(lèi)的繼承:

public class OutClass extends ClassA,ClassB{

public OutClass ( ClassA a ){ ? a.super( );}}

class ClassA {

class ClassB { }}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容