一、介绍
局部内部类就是定义在外部类的方法/代码块中的类,有类名。
class Outer02{ //外部类
private int n1 = 100;
public void m1(){ //方法
//局部内部类定义在方法中
class Inner02{ //局部内部类
}
}
}
二、为什么要有局部内部类
局部内部类的使用主要用来解决比较复杂的问题,想创建一个类来辅助我们的解决方案,但又不希望这个类公开,所以就有了局部内部类。
三、特点
- 可以直接访问外部类的所有成员,包括私有的。
- 不能添加访问修饰符,因为局部内部类的地位等同于局部变量。局部变量是不能使用修饰符的,但是可以用final修饰,因为局部变量也是可以用final修饰的。
- 作用域:仅仅在定义它的方法/代码块中。
1、局部内部类---访问--->外部类的成员:(直接访问)
2、外部类---访问--->局部内部类的成员:
3、外部其他类---不能访问--->局部内部类(因为局部内部类就相当于是一个局部变量)
4、如果外部类和局部内部类的成员重名,默认遵循就近原则,如果想访问外部类的成员,要使用(外部类名.this.成员)