package com.lbj.javase21;
/**
* 局部内部类等同于局部变量
*
* 重点:局部内部类在访问局部变量的时候,局部变量必须使用final修饰,据说在JDK8以后就不需要用final修饰了
*
*
* @author 14811
*
*/
public class OuterClass {
//方法
public void m1(){
//局部变量
final int i=10;//注意这里用final修饰
//局部内部类
//局部内部类不能用访问控制权限修饰符修饰,因为本身的含义就是属于局部的意思,不需要再添加修饰符
class InnerClass{
//内部类不能有静态声明
//public static void m1();
//成员方法
public void m2(){
System.out.println(i);//10
}
}
//如果需要访问局部内部类中的方法,在外面的类调用之前,就需要先实例化出来,否则无法调用
InnerClass inner=new InnerClass();
inner.m2();
}
public static void main(String[] args){
OuterClass oc=new OuterClass();
oc.m1();//这里相当于先调用m2的方法
}
}