内部类
内部类概述
就是写在一个类的成员变量位置或局部变量位置的类
成员内部类
定义在外部类中的成员位置。与类中的成员变量相似,可以被private,public,procted,final,static,abstract修饰,可通过外部类对象进行访问
- 定义格式
class 外部类 {
修饰符 class 内部类 {
// 其他代码
}
}
- 访问方式
外部类名.内部类名 变量名 = new 外部类名().new 内部类名();
局部内部类
定义在外部类中的方法中的类(局部变量的位置),与访问方法中的局部变量相似,可通过调用方法进行访问
- 定义格式
class 外部类 {
修饰符 返回值类型 方法名(参数) {
class 内部类 {
//其他代码
}
}
}
- 访问方式
在外部类方法中,创建内部类对象,进行访问 - 特点:
局部内部类只能在其对应的方法中使用,因为局部内部类的生命周期与局部变量一样,当方法结束时,局部内部类就消失了
匿名内部类
- 作用:匿名内部类是创建某个类型子类对象的快捷方式。
- 格式:
new 父类或接口(){
// 进行方法重写
};
这里说明一下,如果匿名内部类不赋值给变量 ,那么也是一个匿名对象,符合匿名对象的规则