内部类:
概念:把类定义在一个类的内部。
访问特点:
1:内部类可以直接访问外部类成员,包括私有
2:外部类要想访问内部类成员,必须创建对象。
格式:外部类名.内部类名 变量 = 外部类对象.内部类对象;
内部类结构:
1.成员位置
private 安全 隐藏内部类 提供公共的访问方法
static 方便调用
外部访问非静态成员内部类 外部类名.内部类名 变量 = 外部类对象.内部类对象;
外部访问静态成员内部类 外部类名.内部类名 变量 = 外部类.内部类();
2. 局部位置
定义在方法中。
局部内部类访问局部变量必须加final修饰。
延迟生命周期。
命名规则:
成员内部类:外部类$内部类
有多个成员内部类的 会多个 外部类$1
局部内部类:外部类$1内部类
匿名内部类
1.概念:是定义在局部位置的没有名字的内部类。
2.前提:存在一个类,抽象类,或者接口。
3.格式
new 类或者接口名()
{
重写方法;
}
本质理解:其实这是一个继承类或者实现接口的匿名的子类对象。
4.使用
当你看到方法的形式参数是接口或者抽象类的时候。
用匿名内部类改进。(集合,IO,awt)
|
|