内部类分为两种,一种是静态内部类,一种是非静态内部类。
示例:
如果想在包外实例化内部类,则应该这样申明:
静态内部类不用产生外部类的实例化对象即可产生内部类的实例化对象。
非静态内部类必须先产生外部类的实例化对象,才能产生内部类的实例化对象。
示例:
public class InnerClassTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
InnerClassTest a = new InnerClassTest();
InnerClassTest.InnerClassA innerA = a.new InnerClassA();
InnerClassTest.InnerClassB innerB = new InnerClassTest.InnerClassB();
}
class InnerClassA {
}
static class InnerClassB {
}
}
如果想在包外实例化内部类,则应该这样申明:
public static class InnerClassB {
}