学习内部类的总结

public class TestInnerStatic 
{
/*只有声明成static的内部类,才可以是里面的成员声明成static。否则错误,如果声明成static的类,不就是全局的了吗?它就相当放在外面了已经不再是内部类了,并且它的对象中将不包含指向外包类对象的指针,所以不能再引用外包类了*/  
public static class InnerClass {   
 public static int classVar = 0;   
  public static void doSomething() 
 {      
   System.out.println("TestInnerStatic.InnerClass.doSomething");    
  }  
}   
public static void main(String[] args) 
{    
    InnerClass.doSomething();  
}
}
 


内部类声明成static就相当于一个外部类
默认的内部类是default类型,也就是friendly,只能在包内访问,所以如果你把内部类声明成public,就可以在包外访问
在包外直接访问
staticInnerClass.outp();
new innerClassTest().new CommonInnerClass();//访问普通内部类。。。

你可能感兴趣的:(内部类)