1、概念
类中定义的类叫做内部类。内部类可以看作是外部类的成员。
2、内部类分为四类
①静态内部类;
②成员内部类;
③局部内部类;
④匿名内部类。
3、静态内部类
① 被static修饰。
② 可以不依赖于外部类实例化而实例化。
③ 不能与外部类有相同的名字。
④ 不能访问外部类的普通成员变量和方法,只能访问外部类的静态成员变量和静态方法。
4、成员内部类
① 不被static修饰。
② 只有外部类实例化后,成员内部类才能被实例化。
③ 可以自由访问外部类成员变量和方法,无论这些变量和方法是否为静态类型。
④ 成员内部类不能包含静态成员和方法。
5、局部内部类
① 定义在代码块(即大括号{})中。
② 作用范围为该代码块。
③局部内部类与局部变量一样,不能被public、protected、private和static修饰。
6、匿名内部类
① 没有构造函数。
② 不能被public、protected、private和static修饰。
③ 不能包含静态成员和方法。
④ 一个匿名内部类一定是在new后面。
格式:new 接口或父类() {
重写抽象方法……
};
⑤ 匿名内部类必须实现一个接口或继承一个类。
⑥ 只能创建一个实例。
⑦ 匿名内部类是局部内部类的一种,所以也遵循局部内部类的规则特点。