内部类就是我们把一个类定义在另一个类里面的类。(有的地方也称之为嵌套类)。
内部类定义的作用:
1.内部类提供了更好的封装。可以把内部类隐藏在外部类之内。不允许同一个包中的其他类访问该类。
2.内部类成员可以直接访问外部类的私有数据,因为内部类被当成其外部类成员,同一个类中的成员之间可以相互访问。但外部类不能访问内部类的实现细节,例如内部类的属性。
3.匿名内部类适合用于创建那些仅需要一次使用的类。
//宿主类
public class Person {
//此处可以定义内部类
}
内部类分为两种:静态内部类和非静态内部类。用static修饰的就称为静态内部类
内部类作为其外部类的成员,因此可以使用任意访问控制符如private.protected.public
匿名内部类
匿名内部类适合创建那种只需要一次使用的类。
定义匿名内部类的格式如下:
new 父类构造器(实参列表)|实现接口()
{
//匿名内部类的类体部分
}
匿名内部类必须继承一个父类,或实现一个接口。