1 内部类
内部类是在一个类的内部声明的类,也称为嵌套类。外部的类也称为外包类。
内部类同样有访问修饰符,也是四个。
2 内部类的特点
- 内部类可以与类成员并列声明,也可以声明在成员方法里面。
- 内部类的类名不能和外部类的类名一样。其作用域仅在声明它的类或者方法体内,如果在外部引用必须给出带有外部类名的完整名称。
例如:
- 内部类同样支持四种访问修饰符
- 内部类如果声明为static,则变成顶层类,相当于把他放在外面,不能再访问外部类的成员。
- 没有static修饰的内部类是非静态内部类,相当于外部类的一个普通成员,可以访问外部类的任意成员,包括私有成员。
例如:
- 非静态内部类与普通类相似,也可以有自己的类成员,但不能有自己的静态成员,可以去访问外部的静态成员。 这一条与普通类差距较大。
- 内部类可以是abstract抽象类或者final类型的类,也可以是接口。是抽象的类可以由其他内部类继承,是接口则可以有其他内部类实现。这一条,主要在匿名内部类中体现