内部类:定义在类中的类,称为内部类。
好处是可以直接访问到外部类中的成员。
外部类要访问内部类则必须创建内部类对象,通过内部类对象调用。
内部类直接访问外部类的原理:因为内部类持有了外部类的引用。外部类名.this,还是对象调用。
如果把内部类定义在成员位置上,它就可以被成员修饰符所修饰。
内部类的访问方式:
public
外部类名.内部类名 in = new 外部类名().new 内部类名();
然后再通过in.函数名访问。
private
不能直接访问,只能通过方法封装的方式访问。
static
内部类静态,访问非静态方法
外部类名.内部类名 in = new 外部类名.内部类名();
内部类静态,访问静态方法
外部类名.内部类名.静态方法名();
非静态内部类中只能定义静态常量,其他静态修饰的成员都不允许。