内部类是在类体里面定义的一个类,分别有成员内部类、局部内部类、匿名内部类、静态内部类。
成员内部类
成员内部类作为外部类的一个成员存在,与外部类的属性和方法·并列,注意成员内部类不能定义static修饰的变量及方法,在内部类中可以随意使用外部类的成员方法和成员变量(即使是被private修饰的)。
除了上述方法可以调用内部类的成员变量和方法之外,也可以在主方法中创建内部类的对象直接调用:
使用this关键字获取内部类与外部类的引用:
局部内部类
匿名内部类


第一张图是匿名内部类,和第二张图是等价的。
静态内部类

静态内部类中只能调用静态的变量和方法,但是静态内部类中有一个很特殊的特点就是它可以创建main方法,这一特性可以用来调试程序。
内部类的继承
语法如下:
