Java裏面static一般用來修飾成員變量或函數。但有一種特殊用法是用static修飾內部類,普通類是不允許聲明爲靜態的,只有內部類纔可以。被static修飾的內部類可以直接作爲一個普通類來使用,而不需實例一個外部類(見如下代碼)
- public class OuterClass {
- public static class InnerClass{
- InnerClass(){
- System.out.println("============= 我是一個內部類'InnerClass' =============");
- }
- }
- }
- public class TestStaticClass {
- public static void main(String[] args) {
- // 不需要new一個OutClass
- new OuterClass.InnerClass();
- }
- }
如果沒有用static修飾InterClass,則只能按如下方式調用:
- package inner_class;
- public class OuterClass {
- public class InnerClass{
- InnerClass(){
- System.out.println("============= 我是一個內部類'InnerClass' =============");
- }
- }
- }
- public class TestStaticClass {
- public static void main(String[] args) {
- // OutClass需要先生成一個實例
- OuterClass oc = new OuterClass();
- oc.new InnerClass();
- }
- }