static修饰类的作用

Java里面static一般用来修饰成员变量或函数。但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以。被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类(见如下代码

 

Java代码   收藏代码
  1. public class OuterClass {  
  2.     public static class InnerClass{  
  3.         InnerClass(){  
  4.             System.out.println("============= 我是一个内部类'InnerClass' =============");  
  5.         }  
  6.     }  
  7. }  

 

Java代码   收藏代码
  1. public class TestStaticClass {  
  2.     public static void main(String[] args) {  
  3.         // 不需要new一个OutClass  
  4.         new OuterClass.InnerClass();  
  5.     }  
  6. }  

 

 

如果没有用static修饰InterClass,则只能按如下方式调用:

 

 

 

Java代码   收藏代码
  1. package inner_class;  
  2.   
  3. public class OuterClass {  
  4.     public class InnerClass{  
  5.         InnerClass(){  
  6.             System.out.println("============= 我是一个内部类'InnerClass' =============");  
  7.         }  
  8.     }  
  9. }  

 

 

Java代码   收藏代码
  1. public class TestStaticClass {  
  2.     public static void main(String[] args) {  
  3.         // OutClass需要先生成一个实例  
  4.         OuterClass oc = new OuterClass();  
  5.         oc.new InnerClass();  
  6.     }  

你可能感兴趣的:(static修饰类的作用)