1.内部类是类中的五大成分之一(成员变量、方法、构造器、内部类、代码块),如果一个类定义在另一个类的内部,这个类就是内部类。
场景:当一个类的内部,包含了一个完整的事物,且这个事物没有必要单独设计时,就可以把这个事物设计成内部类。
2.内部类有四种形式:
(1)成员内部类:就是类中的一个普通成员,类似普通的成员变量、成员方法。
外部类名.内部类名 对象名 = new 外部类(...).new 内部类(...);
(2)静态内部类:有static修饰的内部类,属于外部类自己持有。
外部类名.内部类名 对象名 = new 外部类(...).new 内部类(...);
(3)局部内部类:定义在在方法中、代码块中、构造器等执行体中。
(4)匿名内部类:就是一种特殊的局部内部类;所谓匿名:指的是程序员不需要为这个类声明名字。
new 类或接口(参数值...){
类体(一般是方法重写);
};
匿名内部类本质就是一个子类,并会立即创建出一个子类对象。用于更方便的创建一个子类对象。