成員內部類
class demo1_innerclass }/*
* a:內部類概述
* b:內部類訪問特點
* a:內部類可以直接訪問外部類的成員,包括私有。
* b:外部類要訪問內部類的成員,必須建立物件。
* 外部類名.內部類名 物件名 = 外部類物件.內部類物件;
* */
class outer
}}
class demo2_innerclass
}class outer
} public void print()
}
class test1_innerclass
}//要求:使用已知的變數,在控制台輸出30,20,10。
//內部類之所以能獲取到外部類的成員,是因為他能獲取到外部類的引用外部類名.this
class outer
}}
靜態內部類
class demo1_innerclass
}class outer
} static class inner2
}}
區域性內部類
class demo1_innerclass
}//區域性內部類
class outer
} inner i = new inner();
i.print();
} /*public void run() */
}
匿名內部類
class demo1_nonameinnerclass }/*
* a:匿名內部類
* 就是內部類的簡化寫法。
* b:前提:存在乙個類或者介面
* 這裡的類可以是具體類也可以是抽象類。
* c:格式:
* new 類名或者介面名()
* d:本質是什麼呢?
* 是乙個繼承了該類或者實現了該介面的子類匿名物件。**/
inte***ce inter
class outer
} public void method()
}.print();
}}
class demo2_nonameinnerclass
}inte***ce inter
//匿名內部類只針對重寫乙個方法時候使用
class outer
public void show2()
}.show1();
new inter()
public void show2()
}.show2();*/
inter i = new inter()
public void show2()
/*public void show3() */
};i.show1();
i.show2();
//匿名內部類是不能向下轉型的,因為沒有子類類名
}}
class test2_nonameinnerclass
}//按照要求,補齊**
inte***ce inter
class outer
}; }}
//要求在控制台輸出」helloworld」
靜態內部類,成員內部類,區域性內部類,匿名內部類
一 靜態內部類 它是用static修飾的,在訪問限制上它只能訪問外部類中的static所修飾的成員變數或者是方法 演示 public class test 01 public static void main string args 二 成員內部類 成員內部類是最普通的內部類,它可以無條件訪問外部類...
匿名內部類,成員內部類,區域性內部類,靜態內部類
在類的成員位置定義乙個內部類,相當於成員的屬性。在類方法中呼叫成員內部類的屬性和方法需要先建立乙個物件,通過物件來訪問成員內部類中的屬性和方法。在內部類中可以直接呼叫外部類的靜態屬性,方法和非靜態屬性,方法 成員內部類物件建立方法 package test public class innercla...
內部類 成員內部類 區域性內部類 匿名內部類
public class 外部類 private int num 0 外部類如果要訪問內部類的成員,則需要通過內部類的物件訪問 使用方式 1.外部類使用內部類,主函式再使用外部類 2.通過new的方式 外部類.內部類 物件名 new 外部類 new 內部類 定義在方法內部的類,就是區域性內部類,只有...