天天看點

java内部類

1.靜态内部類

2.成員内部類

3.局部内部類

4.匿名内部類

内部類:

使用内部類減少了命名沖突。

一個内部類可以定義在一個類中,一個方法中甚至一個表達式中。

内部類分為四種:

靜态内部類(static inner classes)

成員内部類(member inner classes)

局部内部類(local inner classes)

匿名内部類(anonymous inner classes)

1、靜态内部類(static inner classes)

最簡單的内部類。

隻能通路外部類的靜态成員變量與靜态方法。

生成靜态内部類對象的方法:

OuterClass.InnerClass inner = new OuterClass.InnerClass();

1.1、相關使用例子:

靜态内部類:

java内部類
java内部類
java内部類
java内部類
java内部類

main方法中使用:

java内部類

 View Code

2、成員内部類(member inner classes):

成員内部類可以通路外部類的靜态與非靜态的方法和成員變量。

生成成員内部類對象的方法:

OuterClass.InnerClass inner = new OuterClass().new InnerClass();

在局部内部類中通路外部類的成員變量的方法:

OuterClass.this.a;

2.1、相關使用例子:

成員内部類:

java内部類
java内部類
java内部類
java内部類
java内部類

在main方法中使用:

java内部類

3、局部内部類(local inner classes):

類似于局部變量,不能定義為public,protected,private或者static類型。

定義方法中,隻能方法中聲明為final類型的變量。

3.1、相關使用例子:

局部内部類:

java内部類
java内部類
java内部類
java内部類
java内部類
java内部類

4、匿名内部類(anonymous inner classes):

匿名内部類沒有類名,沒有class關鍵字也沒有extends和implements等關鍵字修飾。

匿名内部類會隐式地繼承一個父類或實作一個接口。

4.1、相關使用例子:

java内部類
java内部類
java内部類

本文轉自快樂就好部落格園部落格,原文連結:http://www.cnblogs.com/happyday56/p/4159516.html,如需轉載請自行聯系原作者