内部类与类的属性没有什么区别。
静态内部类,非静态内部类在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();//静态内部类
}
}
注意:
- 只有静态内部类中才可以定义static方法
- 内部类一般不与文件同名。
网友评论