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();//静态内部类
    }
}

注意:

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

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