java-内部类

内部类与类的属性没有什么区别。
静态内部类,非静态内部类在new时有区别。
静态内部类类似于外部类的类变量,非静态内部类类似于外部类的实例变量。
非静态内部类是属于外部类的对象的,在初始化时需要先初始化一个外部类实例对象,然后使用此对象调用内部类的构造方法实例化内部类对象。
静态内部类属于类本身,初始化直接使用外部类调用讲台内部类构造方法即可。

Outer.inner inner=new Outer.inner(); //静态内部类 Outer.inner inner=new Outer.new inner(); //非静态内部类

public calss A{ public calss B1{ } static public calss B2{ } public static void mian(String args[]){ A.B1 b1=new A.new B1(); //非静态内部类 A.B1 b2=new A.B2(); //静态内部类 } }

【java-内部类】注意:
  1. 只有静态内部类中才可以定义static方法
  2. 内部类一般不与文件同名。

    推荐阅读