物件導向 內部類

2021-08-22 18:06:57 字數 1752 閱讀 4452

在乙個類的內部定義乙個新類,即內部類,

另乙個類稱之為外部類。

根據位置:

成員內部類

方法內部類(區域性內部類)

帶static修飾詞的:

靜態內部類

沒有名稱的:

匿名內部類

(1)方法內部類:

定義在方法中,相當與區域性變數,僅限與在方法中使用,

定義時不能使用修飾詞,可以直接訪問外部類的非靜態成員變數

/**

* 方法內部類的學習

*/public

class

a public

void

showb()

}//不能在run()方法外使用

b b = new b("翠花", 18);

b.showb();

}public

static

void

main(string args)

}

(2)靜態內部類

以類的成員來定義的,只是多了乙個修飾詞static,

可以直接訪問外部類的靜態成員

/**

* 靜態內部類

* */

public

class

c static class d

//靜態內部類可以直接訪問外部類的靜態成員

public

void

showd()

}}

(1)成員內部類

以類的成員來定義,可以使用任何修飾詞來修飾

1.成員內部類訪問外部類

方法內隱藏乙個指向外部類物件的引用

外部類名.this.

2.外部類訪問成員內部類的成員

在外部新增乙個內部類的成員變數進行訪問

3.成員內部類的使用

先建立乙個外部類物件,

然後外部類物件使用new呼叫內部類的構造器例項化

public

class

mom

public

void

sport()

/** 以成員的身份定義乙個胎兒型別 */

class baby

/** 展示自己的行為 */

public

void

show()

public string tostring()

}}public

class

testmom

}

(2)匿名內部類

沒有名字的類,寫在外部類的方法中,

只用一次,不需要定義類的結構,

通常都是為了實現介面,抽象類或某一現有的類的子類

語法格式:

= new 想使用子類的父類 (){};

大括號裡重寫介面或抽象類中的所有抽象方法,或重寫要實現的方法

public

class test

public

void

mul(int a, int b)

};ix.sum(5, 3);

ix.mul(4, 8);

}}inte***ce interx

物件導向 內部類

在學內部類前,我自己先問了自己2個問題!1 什麼是內部類呢?簡單說 就是在乙個類中在建立乙個類。2 而為什麼又要搞這個內部類呢?我想是為了在於現實中的一些建模問題吧,讓事物更加形象。比如要建立 人體 這個類,有很多功能吧,比如 吃飯 看書 而這些功能又需要 嘴巴 眼睛 那麼我們就不得不建立 嘴巴 眼...

物件導向 內部類

asp.net android ios開發 net培訓 期待與您交流!7.1內部類 內部類 將乙個類定義在另乙個類裡面,裡面那個類就稱為內部類.格式 class outclass 注意 內部類可以定義在外部類的成員位置,也可以是在外部類的區域性位置.如 class outclass 注意 內部類可以...

物件導向 內部類

定義 將乙個類定義在另乙個類的裡面,裡面那個類就是內部類,又稱為巢狀類或者內建類。內部類生成的位元組碼檔名格式為 outerclass innerclass.class 內部類可以分成成員內部類 區域性內部類以及匿名內部類。在乙個類中使用內部類,可以在內部類中直接訪問其所在類的私有成員變數,儘管這些...