内部类
一个类定义到另一个类的内部.对于内部的这个类就被称为内部类(嵌套类).
特点:
内部类可以直接访问外部类的成员,
外部类想访问内部类的成员必须创建内部类的对象.
5. 内部类分类及使用
分类:
成员内部类
局部内部类
使用:
内部类使用格式:
外部类名.内部类名 变量名 = 外部类对象.内部类对象;
例如: Outer.Inner oi = new Outer().new Inner();
成员内部类
修饰符:
private -- 为了安全.
static -- 为了方便
调用格式:
外部类名.内部类名 变量名 = new 外部类名.内部类名();
例如:Outer.Inner oi = new Outer.Inner();
局部内部类:
局部内部类访问外部类的局部变量,变量就需要加final修饰.
原因:延长变量的生命周期.
6. 匿名内部类
没有名字的局部内部类.
前提: 必须有一个类,抽象类或者接口.
格式:
new 类名或者接口名()
{
// 重写父类或者接口中的方法
// 也可以自定义方法
};
理解:
匿名内部类的本质其实是继承了类或者实现了接口的匿名子类对象.
应用场景:
方法接收的形式参数是抽象类或者接口的时候,就可以考虑采用匿名内部类.
也就是说: 把定义实现类和创建实现类的对象放在一块完成了. |
|