局部内部类定义,局部内部类的final问题

局部内部类定义:

定义格式:

修饰符  class  外部类名称 {

修饰符  返回值类型  外部类方法名称(参数列表) {

cLass 局部内部类 名称{

//....

  }

    }

}

小节一下类的权限修饰符:

pubLic > protected > .(default) > private

定义一个类的时候,权限修饰符规则。

1.外部类:public / ( default)

2成员内部类:public / protected / ( default) / private

3.局部内部类:什么都不能写

 

 

 

 

 

 

 

 

 

 

 

 

局部内部类的final问题:

局部内部类,如果希望访间所在方法的局部变量,那么这个局部变量必须是【有效final的】。

备注:从Java 8+开始,只要局部变量事实不变,那么final关键字可以省略。

原因:

1. new出来的对象在堆内存当中。

2.局部变量是跟着方法走的,在栈内存当中。

3.方法运行结束之后,立刻出栈,局部变量就会立刻消失。

4.但是new出来的对象会在堆当中持续存在,直到垃圾回收消失。

 

 

 

 

 

 

 

 

posted @ 2022-07-05 10:25  冰灵IT  阅读(42)  评论(0)    收藏  举报