局部内部类
-
定义在外部类方法中,作用范围和创建对象范围仅限于当前方法。
-
局部内部类访问外部类当前方法中的局部变量时,因无法保障变量的生命周期与自身相同,变量必须修饰为final。
-
限制类的适用范围
//外部类
public class Outer {
private String name = "刘德华";
private int age = 18;
public void show() {
//定义局部变量
String address = "北京";
//局部内部类:注意不能加任何访问修饰符,不能添加静态成员,final除外
class Inner {
//局部内部类的属性
private String phone = "110";
private String email = "[email protected]";
//private final static int count = 1999;
//局部内部类的方法
public void show2() {
//访问外部类的属性
System.out.println(Outer.this.name);
System.out.println(Outer.this.age);
//访问内部类的属性
System.out.println(phone);
System.out.println(email);
//访问局部变量,jdk1.7要求,变量必须是常量final,jdk1.8自动添加final
System.out.println(address);
}
}
//创建局部内部类对象
Inner inner = new Inner();
inner.show2();
}
}
//测试类
public class Application {
public static void main(String[] args) {
Outer outer = new Outer();
outer.show();
}
}
标签:Outer,内部,局部,System,private,String,final,out
From: https://www.cnblogs.com/cyyyds/p/16988303.html