日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA中的内部类(二)成员内部类

發布時間:2025/3/12 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA中的内部类(二)成员内部类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java中的成員內部類(實例內部類):相當于類中的一個成員變量,下面通過一個例子來觀察成員內部類的特點

public class Outer {//定義一個實例變量和一個靜態變量private int a;private static int b;//定義一個靜態方法和一個非靜態方法public static void say(){}public void test(){//在外部類中調用內部類的屬性和方法Inner inner = this.new Inner();inner.d = 1; //通過創建內部類實例來調用內部類屬性inner.walk(); //通過創建內部類實例來調用內部類方法}//成員內部類public class Inner{//定義一個靜態常量static final int m = 1;//在內部類中定義一個靜態變量和一個實例變量//static int c; 編譯出錯int d;//定義一個匿名代碼塊和一個靜態代碼塊{} //static{} 編譯出錯//定義一個靜態方法和一個普通方法//public static void go(){} 編譯出錯public void walk(){//在內部類中調用外部類的屬性和方法a = 1;b = 1;say();test(); //內部類可以直接訪問外部類的所有屬性和方法}} }

總結:

1、成員內部類可以由public protected default private修飾

2、成員內部類是依賴于外部類的對象而存在的,在創建成員內部類的實例時,外部類的實例必須已經存在。

3、成員內部類可以包含哪些內容

1)匿名代碼塊

2)非靜態屬性

3)非靜態方法

注意:成員內部類中不能有靜態屬性和方法但可以有靜態常量(即用static final修飾的屬性),因為在類加載時會初始化static修飾的內容,而成員內部類必須依賴于內部類對象,即成員內部類要在外部類加載之后加載,所以不能包含靜態的變量和方法。使用final修飾的靜態變量類加載時會自動初始化其值,將其作為一個常量,所以可以出現在內部類中。

4、外部類訪問內部類

外部類可以通過創建成員內部類實例來訪問成員內部類中的屬性和方法

5、成員內部類訪問外部類

成員內部類可以直接訪問外部類的所有屬性和方法

注意: 如果成員內部類B與外部類A包含同名的成員,那么在類B中, this.v表示類B的成員, A.this.v表示類A的成員。

6、創建內部類實例的方法

1)在外部類中創建:內部類名 name = this.new 內部類名();

2)在非外部類中創建:外部類名.內部類名 name = new 外部類名().new 內部類名();

總結

以上是生活随笔為你收集整理的JAVA中的内部类(二)成员内部类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。