亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java內部類是什么

發布時間:2022-03-06 12:35:21 來源:億速云 閱讀:142 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Java內部類是什么”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java內部類是什么”這篇文章吧。

一、內部類介紹

1.定義:一個類內部又嵌套了一個類,被嵌套的類就是內部類(inner class),嵌套其他類的稱為外部類(outer class)。內部類是類的五大成員之一(屬性、 方法、構造器、代碼塊、內部類)。

分類:

Java內部類是什么

二、成員內部類:

1、非靜態內部類

說明:定義在成員位置中(方法或代碼塊外面),無static修飾。

1.可以直接訪問外部類的所有的成員

2.可以 添加任意權限修飾符

3.作用域,和其他成員一樣作用在整個外部類

package local_class;

public class localclass {//外部類
    //屬性位置
    private int n1=10;
    class localN1{//局部類
        public void output(){
            //==1==.可以直接訪問外部類的所有的成員,包括私有
            System.out.println("獲取私有成員"+n1);
        }
    }
    //寫一個方法來創建局部類的一個實列
    public void output(){
        localN1 LocalN1 = new localN1();
        LocalN1.output();
    }

}

實現:

Java內部類是什么

2、靜態內部類

**說明:**定義在成員位置中(方法或代碼塊外面),有或無static修飾。

1.可以直接訪問外部類的靜態的成員,不能訪問非靜態成員。

Java內部類是什么

2.可以 添加任意權限修飾符

3.作用域,和其他成員一樣作用在整個外部類

代碼:

package local_class;

public class _static_localclass {//外部類
    private int n1=10;
    static int n2=20;
    static public class localN2{//靜態局部類
        public void output(){
            //==1==.可以直接訪問外部類的所有的成員,包括私有
            System.out.println("獲取_static_localclass私有成員"+n2);
            //System.out.println(n1);
        }
    }
    //寫一個方法來創建局部類的一個實列
    public void output(){
        localN2 LocalN2 = new localN2();
        LocalN2.output();
    }
}

Java內部類是什么

成員內部類:用法比較簡單。

二、局部內部類:

說明:局部類是定義在外部類的方法內或者代碼塊內。

1.可以直接訪問外部類的所有的成員。

2.不能添加訪問修飾符,局部內部類的地位就是一個局部變量(所以可以用fianl修飾)。

3.作用域:作用在所定義的方法中或者代碼塊中。

4.訪問方式:局部內部類訪問外部外部類成員可以直接訪問。外部類訪問局部內部類,在外部類作用域內先創建對象再訪問。

5.外部其他類不能訪問內部類。

6.外部類成員與內部類成員重名時,默認就近原則,如果想用外部類的話可以使用:外部類名.this.成員 。

例如:

Java內部類是什么

Java內部類是什么

2、有名的局部內部類

錯誤代碼

Java內部類是什么

正確代碼

package _inner_class;

public class Named_local_inner_class {//外部類
    private int a1=1;
    int a2=2;
    private void fun(){
        System.out.println("輸出了私有方法");
    }
    //第一種情況,在方法中
    //第二種情況,在代碼塊中(我就不打代碼了和在方法中一樣的)
    //此處以方法中為例。
    public void output(){//方法
    
        class inner_class{//局部內部類
            //1.可以訪問外部類的所有成員
            public void _output(){
                System.out.println("a1="+a1);//訪問的私有成員
                System.out.println("a2="+a2);
                fun();
            }

        }
		//只需要實例化就行了,然后調用這個 output()方法。
		//注意作用域
        inner_class Inner_class=new inner_class();
        Inner_class._output();
    }//結束方法


}//外部類

調用

Java內部類是什么

1、匿名局部內部類(重要)

1.本質還是一個內部類 就是一個類,該類沒有名字(其實有名字,只是我們看不見,系統分配)。

2.同時還是一個對象。 基本語法

new 類名或接口名(參數列表){
類體
};

Java內部類是什么

調用匿名內部類:

Java內部類是什么

輸出

Java內部類是什么

和有名的局部內部類的區分

1.A22對象只使用一次,以后不再使用時用匿名局部內部類。

2.A22的編譯類型和運行類型是什么?(運行類型其實就是匿名局部內部類,就是XXXXX.外部類名$1)

如圖:

Java內部類是什么

Java內部類是什么

以上是“Java內部類是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永年县| 醴陵市| 台江县| 潞城市| 高青县| 邵武市| 高平市| 元阳县| 庆元县| 康定县| 定州市| 海晏县| 盐城市| 安化县| 灵武市| 乌审旗| 会昌县| 湖南省| 耒阳市| 靖西县| 越西县| 黔西县| 黄大仙区| 涡阳县| 武夷山市| 宿迁市| 涟水县| 武乡县| 孟村| 九龙坡区| 文昌市| 通榆县| 平度市| 三都| 莱阳市| 麦盖提县| 清涧县| 泗洪县| 房山区| 德格县| 新乐市|