首頁 >Java >java教程 >java內部類別的存取格式和規則的介紹(附程式碼)

java內部類別的存取格式和規則的介紹(附程式碼)

不言
不言轉載
2018-10-15 15:17:462874瀏覽

這篇文章帶給大家的內容是關於java內部類別的存取格式和規則的介紹(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

1.內部類別的定義

定義一個類別來描述事物,但是這個事物其中可能還有事物,這時候在類別中再定義類來描述。

2.內部類別存取規則

內部類別可以直接存取外部類別中的成員,包括私有

之所以可以直接存取外部類別中的成員,是因為內部類別中持有了一個外部類別的引用

格式:外部類別名稱.this 

②外部類別要存取內部類別,必須建立內部類別物件。

 3.存取格式

①當內部類別定義在外部類別的成員位置上,而且非私有,可以在外部其他類中。可以直接建立內部類別物件。

外部類別名稱.內部類別名稱   變數名稱= 外部類別物件.內部類別物件;

Outer.Inner   in = new Outer().new Inner(); 

# ②當內部類別在成員位置上,就可以被成員修飾符所修飾。

例如,private:將內部類別在外部類別中封裝。

static:內部類別具備了static的特性。

當內部類別被static修飾後,只能直接存取外部類別中的static成員。出現了存取局限,在外部其他類別中,如何直接存取static內部類別的非靜態成員呢?

new Outer.Inner().function;   //非静态成员需要实例化才能调用方法。

 在外部其他類別中,如何直接存取static內部類別的靜態成員?

Outer.Inner.function();          //静态的先加载入内存,直接类名调用就行了。

但要注意,當內部類別中定義了靜態成員,該內部類別必須是static的。

當外部類別中的靜態方法存取內部類別時,內部類別也必須是static的。跟著靜態變數的存取權一樣。

class Outer // 所谓的外部类
{
    private int x = 2;// 外部类的成员变量,私有修饰

    class Inner // 内部类
    {
        void function() {
            System.out.print("inner:" + Outer.this.x);
        }
    }
}
class func {
    public static void main(String[] args) {
        Outer out = new Outer();
        // 直接访问内部类成员
        Outer.Inner in = new Outer().new Inner();
        in.function();
    }
}

以上是java內部類別的存取格式和規則的介紹(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除