關於內部類,靜態內部類的一點總結

2021-08-27 11:56:23 字數 1736 閱讀 4341

內部類:定義在乙個類內部的類 成為內部類 (只有在外部類呼叫的時候進行例項化)

靜態內部類:定義在乙個類內部的類 並且被static修飾的類 稱為靜態內部類 (使用時才載入

public class outterclass 

public void notstaticvoid()

//return 內部類

public innerclass getinnerclass()

//內部類

class innerclass

public void name()

// 編譯報錯 內部類不能有靜態的方法

/*public static void ssss() */

//內部類的內部類

class innerclassinnerclass

}//內部類的靜態內部類------》 不存在的 , static 修飾的屬於類 在類載入的時候初始化, 內部類的內部類在 new 的時候初始化, 如果靜態內部類成立,這不就矛盾了嗎?

/* static class innerclassstaticinnerclass2

}*/}

//靜態內部類

public static class staticinnerclass

public void name()

public static void names()

class staticinnerclassinnerclass

} }

public static void main(string args)

}

外部類訪問內部類和靜態內部類:

1  首先例項化外部類   2  例項化內部類                       外部類.內部類   xx = 外部類的引用.new  內部類();

1     外部類訪問靜態內部類                                          外部類  xx   =  new 外部類().靜態內部類();

訪問外部類總結

1     內部類可以訪問外部類的 靜態成員 和 靜態變數         , 靜態方法(外部類.的形式)和非靜態方法(直接訪問)

2      靜態內部類 只能訪問外部類 靜態變數             ,   靜態方法(外部類.的形式),外部類非靜態方法(直接訪問)

方法,成員變數和靜態變數:

1 外部類    可以訪問 「內部類」 或者 「 靜態內部類」 的 私有的方法        

2  內部類, 靜態內部類 都可以有 「 成員變數 」  ,

3 內部類不能有靜態的方法,以及靜態變數 (內部類只有在例項化也就是外部類呼叫的時候初始化,所以不能有static)

4 靜態內部類 只能訪問外部類的靜態方法,靜態內部類可以包含靜態和非靜態方法 以及 變數。

內部類 靜態內部類

static可以修飾內部類,通常用來給外部類賦值 例如 建造者模式 靜態內部類不能使用外部類非靜態的屬性,必須用物件名呼叫 在外部類中 建立靜態內部類可以直接建立,不需要建立外部類 不能使用成員內部類的方式建立靜態內部類物件 內部類 物件名 new 內部類 外部類.內部類 物件名 new 外部類.內...

內部類 靜態內部類

package org.lgy.study.innerclass 靜態內部類屬於外部類本身,而不屬於外部類的物件。使用靜態內部類時無需建立外部類的物件。public class staticinnerclass public static void method2 public void metho...

內部類 靜態內部類

即定義在類或方法體內部的類,經常被使用於gui android程式設計中的事件處理 測試外部類等 public class outer class inner 即為內部類 在例項化內部類之前應該先 例項化外部類 方案一outer outer new outer inner inner outer.n...