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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

内部类-----Java

發布時間:2025/3/12 java 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内部类-----Java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內部類-----Java

內部類是一類特殊的類,指的是定義在一個類的內部的類,在Java中內部類主要分為非靜態內部類、靜態內部類、局部

內部類、匿名內部類。

?

非靜態內部類,作為類的成員存在,和成員變量、構造方法、代碼塊并列。因為是類的成員,所以非靜態成員內部類可以

使用public、protected、默認、private修飾,而外部類只能使用public、默認修飾。

public class OutClass {//成員變量private String name;private int num = 10;//構造方法public OutClass(){}public OutClass(String name,int num){this.name = name;this.num = num;}//成員方法public void methodOut(){System.out.println("methodOut");}public void methodOut2(){InnerClass ic = new InnerClass();System.out.println(ic.num);//20ic.methodInner();}class InnerClass{private String type;private int num = 20;//構造方法public InnerClass(){}public InnerClass(String type,int num){this.type = type;this.num = num;}//成員方法public void methodInner(){System.out.println(name);int num = 30;System.out.println(num);//30System.out.println(this.num);//20//內部類如何訪問外部類的同名成員變量System.out.println(OutClass.this.num);//10methodOut();}} } public class Test {public static void main(String[] args) {OutClass oc = new OutClass();oc.methodOut();oc.methodOut2();//要創建非靜態成員變量內部類對象,必須先創建外部類的對象//OutClass.InnerClass ic = new OutClass().new InnerClass();OutClass oc2 = new OutClass();OutClass.InnerClass ic = oc2.new InnerClass();} }

運行結果如下:

總結:

1、內部類可以直接訪問外部類成員

2、外部類不能直接訪問內部類的成員,需要先創建對象再通過對象名來訪問。

3、內部類如何訪問外部類的同名成員變量:OuterClass.this.num

4、必須先創建外部類的對象,才能創建內部類的對象。非靜態成員內部類是屬于某個外部類對象的。

5、非靜態內部類不能有靜態方法、靜態屬性和靜態代碼塊。

5、外部類的靜態方法、靜態代碼塊不能訪問非靜態內部類,包括不能使用非靜態內部類定義的變量、創建的實例。

?

注意:

內部類只是編譯時的概念,一旦我們編譯成功,就會成為完全不同的兩個類。對于一個名為Out的外部類和其內部定義的名為Inner

的內部類。編譯完成后會出現Outer.class和Outer$Inner.class兩個類的字節碼文件。所以內部類是相對獨立的一種存在,其成員變量、方法

名可以和外部類相同。

總結

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

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