一、概念
定义在一个类内部的类叫内部类,包含内部类的类称为外部类。内部类可以声明public、protected、private等访问限制,可以声明 为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final的,也可以实现特定的接口。外部类按常规的类访问方式使用内部 类,唯一的差别是外部类可以访问内部类的所有方法与属性,包括私有方法与属性。
二、实例创建
p:public class A{
private int d;
public class B{
private int e;
a.this.d;
}
public static class C{
private int f;
this.d;
}
}
实例化
A a = new A();
A.B b = a.new B();
A.C c = new A.C();
访问变量
a.this.d;
this.d;
三、编译
每个类会产生一个.class文件,文件名即为类名。同样,内部类也会产生这么一个.class文件,但是它的名称却不是内部类的类名,而是有着严格的限制:外围类的名字,加上$,再加上内部类名字。