前言——任何一个类都不在另一个类的内部,而在类中定义的那个类称为内部类。
一、内部类包括:成员内部类、局部内部类、匿名内部类、静态内部类、内部类的继承。
1.成员内部类:
概念:① 内部类可以随便使用外部类的成员方法、成员变量 ,无论是否被修饰为private。
② 内部类的实例一定要绑定在外部类的实例上。
③内部类的成员,只有在内部类 的范围可知,不能被外部类使用。
2.局部内部类:
内部了不仅可以在类中进行,也可以在类的局部位置定义:如在类的方法,或者任意的作用域中。
用this调用关键字获取内部类与外部类的引用。
3.匿名内部类:
语法实现:return new A ( ) { .../内部类体};分号代表创建方法引用表达式的标识。
匿名内部类没有名称,一般在方法体中出现。
4.静态内部类:
内部类前加上static ,一个静态内部类中可以声明static成员,但是在非静态内部类中不可以声明静态成员。不可以使用外部类的非静态成员。
5.内部类的继承:
public class OutClass extends ClassA,ClassB{
public OutClass ( ClassA a ){ a.super( );}}
class ClassA {
class ClassB { }}