1、普通的类(非内部类),不能声明为private或protected;他们只可以被赋予public或包访问权限。
2、内部类和外部类被编译成了两个class文件,在inner.class文件中,有对outer.class.的引用,所以可以访问外部类中的所有数据成员和方法。inner.class的构造方法是包可见的,所以 外部类可以构造生成内部类对象。
3、内部类的继承,是指一个类继承自一个内部类,注意的是子类必须在构造方法中初始化父类所在的外部类。
class WithInner {
class Inner{
public void say()
{
System.out.print("WithInner");
}
}
}
public class InheritInner extends WithInner.Inner{
InheritInner(WithInner wi)
{
wi.super();
}
public static void main(String [] args)
{
WithInner wi = new WithInner();
InheritInner ii = new InheritInner(wi);
ii.say();
}
}