局部内部类位于类的局部成员位置(方法内)
局部内部类是在方法中定义的类,所以外界无法直接使用,需要在方法内部创建对象并使用,该类可以直接访问方法内的局部变量(必须用final修饰)
package 内部类;
//局部内部类
public class oouter {
private int s=2;
public void work() {
final int ss=4;//private int ss=4;参数 ss 的修饰符不合法;只允许使用 final
class inner {
public void eat(){
System.out.println("局部内部类");
System.out.println(s);//调用外部私有变量
System.out.println(ss);//调用方法内局部变量(必须得是final修饰的变量)
//防止局部内部类改变方法内局部变量的值
}
}
inner i=new inner();//创建局部内部类对象
i.eat();//调用局部内部类方法
//局部内部类只能在方法内部中使用,一旦方法执行完毕,局部内部类就会从内存中删除
}//外部类方法中
}
public class ttest {
public static void main(String[] args) {
oouter o=new oouter();//创建外部类对象
o.work();//调用含局部内部类的方法
}
}