有关内部类②
? ? ? ? 昨天復習內部類的時候由于時間原因只看了實例內部類,今天呢,就來寫一下成員內部類的另一個:靜態內部類。
靜態內部類就是在內部類的前面加了一個關鍵字static。
按照慣例為了方便理解,先貼段代碼咯~
package Dawn;class A {private int a1 = 1;private static int a2 = 2;public static class B{private int v1=3;private static int v2 = 4;public int add(){return (v1+a2);}public static class C{private int n1 = 5;private static int n2 = 6;}}} public class test {public static void main(String[] args) {A.B b = new A.B();A.B.C c = new A.B.C();System.out.println(b.add()); } }
從上述代碼中可以發現:
①在創建靜態內部類的實例中和實例內部類的實例中是不一樣的,靜態內部類是不需要創建外部類的實例的。
②在靜態內部類中,可以直接訪問外部類中的靜態成員變量,但是,如果要訪問外部類中的非靜態成員,需要通過外部類的實例來實現。
比如:我要用類A的成員a1將其賦值給類B的成員n1,則需要完成 b.n1 = new A().a1;
③ 在靜態內部類中既可以定義靜態成員又可以定義實例成員。
④可以通過完整的類名來直接訪問靜態內部類的靜態成員。
例如:A.B.C.n2 = 6;
每天進步一點點~
總結
- 上一篇: 考研程序设计30题系列(21-30题)
- 下一篇: RecyclerView吸顶效果