什么是内部类
可以将一个类的定义放在另一个类的内部,这就是内部类。如:
/外部类
public class InnerClassDemo {
//内部类
private class Inner{}
}
怎样创建内部类的对象
要想直接创建内部类的对象,必须使用外部类的对象来创建内部类对象,就像下面程序展示的那样。
public class InnerClassDemo {
//内部类
private class Inner{
void hello(){
System.out.println("Hello World!");
}
}
public static void main(String[] args) {
InnerClassDemo icd=new InnerClassDemo();
InnerClassDemo.Inner icdi=icd.new Inner();
//若把上句改成 InnerClassDemo.Inner icdi=new Inner(); 则会在编译期报错,亲测
icdi.hello();
}
}
拥有外部类对象之前是不可能创建内部类对象的,所以内部类对象的创建必须依赖于外部类对象,使用形如“icd.new Inner()”的方式创建。这是因为内部类对象会暗暗地连接到创建它的外部类对象上。