内部类(一) 成员内部类:成员内部类 内部类(二) 静态内部类:静态内部类 内部类(三) 匿名内部类:匿名内部类 这一章节来介绍局部内部类:
1.局部内部类
1.1 概念
在外部类的方法中,定义的非静态的命名的内部类,叫做局部内部类。 (因为该内部类可以访问外部类方法的形参和局部变量而得此名) 可以分为: 在外部类的实例方法内部的局部内部类; 在外部类的静态方法内部的局部内部类。
提示:在实际开发中很少使用局部内部类,只是因为局部内部类的作用域很小,只能在当前方法中使用。
1.2 调用局部内部类中的方法
1.3 局部内部类调用外部类中的属性
class Outer {
String name1
= "张一";
public void print() {
String name2
= "张二";
class Inner{
String name3
= "张三";
public void read() {
String name4
= "张四";
System
.out
.println(name1
);
System
.out
.println(name2
);
System
.out
.println(name3
);
System
.out
.println(name4
);
}
}
Inner inner
= new Inner();
inner
.read();
}
}
public class Solution{
public static void main(String
[] args
) {
Outer s
= new Outer();
s
.print();
}
}
输出结果: 张一 张二 张三 张四
在上面的代码中我们看到,局部内部类可以直接使用外部类中的成员变量,外部类中的局部变量,局部内部类中的成员变量,局部内部类中的局部变量。 而调用局部内部类的对象就是在外部类的实例方法中创建局部内部类的对象,然后通过对象调用局部内部中的实例方法。