在书上看到这样一段话:如果局部内部类要访问外部类的局部变量,则此变量必须是final修饰的,否则不能访问。说是为了提高局部变量的生命周期,可不可以说的通俗一些?
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
threenewbee 2017-03-13 15:35最佳回答 专家已采纳采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
报告相同问题?
提交
相关推荐 更多相似问题
- 2017-03-13 15:28回答 1 已采纳 http://blog.csdn.net/mark_to_win/article/details/38821033
- 2017-07-20 19:18回答 4 已采纳 如果你的变量只做读取是可以不用显式的声明为final类型 但是有修改操作就会报错 谢谢
- 2017-05-19 06:36回答 4 已采纳 @Override public int product() { // TODO Auto-generated method stub return (int) Math.round(M
- 2019-09-04 16:13凌兮~的博客 匿名内部类不能访问外部类方法中的局部变量,除非变量被声明为final类型 这里所说的“匿名内部类”主要是指在其外部类的成员方法内定义,同时完成实例化的类,若其访问该成员方法中的局部变量,局部变量必须要被...
- 2020-12-15 19:57ssuqin001的博客 1.首先来了解一下局部内部类是如何访问局部变量的 Person类是外部类,LoInClassIntf是接口,localInClassRe是Person类的成员方法,且返回值类型为LoInClassIntf; 方法内定义了一个局部内部类LoInnerClass,该内部...
- 2018-10-24 10:15吴一尘的博客 此时的局部内部类(定义在方法中的内部类)InTest中的f()访问了外部类中的局部变量x。这里x并没有用final修饰(1.8之后java隐式的将x修饰为final)如果你添加一个x=8,这里就会报错。 为什么要用final修饰 主要...
- 2016-03-07 02:45回答 3 已采纳 首先把对应的外部和内部分别说成是全局和局部,这个内外表示的域(即{})的内外,而不是extern表示的文件的内外。不过确实很多的时候这样的表示由于没有统一的叫法,不同的作者有自己的叫法,常常让读书的人
- 2016-03-07 09:38回答 3 已采纳 // public String name; public void say(final String name) { new RunnableWithReturn() { @Over
- 2021-11-24 12:01回答 2 已采纳 class out { private: int n; public: class inn { public: void fun(out o) {
- 2018-10-30 19:18林海静的博客 内部类引用外部类局部变量,必须保证外部类的局部变量为final的,因为内部类和外部类的局部变量生命周期不一样,外部类方法执行完该局部变量可能就没了,但该方法中的内部类可能还在执行(如线程),还要使用该变量...
- 2022-04-14 19:51naoguaziteng的博客 目 录 1.内部类与外部类 2.内部类的特点:内部类可以直接访问外部类的成员(成员变量和成员方法),包括私有成员。...局部内部类访问外部类的局部变量: 1.内部类与外部类 将一个类A 定义到另一个类B的内部,...
- 2020-02-28 14:35Rouemm的博客 与实例变量相、实例方法同级别的类。 下面就是一个内部类的案例 public class testOne { public static void main(String[] args) { Outer out = new Outer(); Outer.Inner in = out.new Inner(); in....
- 2017-04-21 11:47回答 2 已采纳 你把变量绑定到final,也可以在匿名类中访问。或者直接做参数传递进去
- 2016-12-02 11:00回答 3 已采纳 1.首先,size这里的含义是每个目录的大小,这个getSize()方法返回的就是每个目录的大小,显然是每个目录一个变量是正确的,使用全局的变量 实际上加了好多遍。自己想想,应该不难想明白。
- 2018-10-08 09:59回答 1 已采纳 局部变量分为2种,一个是引用类型(类的实例、字符串)一个是值类型(int float等简单类型、结构体、枚举等)。引用类型的生命周期取决于是否所有活动线程的根对象可以遍历到它,如果有,就不会垃圾回收。
- 2015-09-13 21:12Balalalalalalalala的博客 class People //file InnerClassTest.java { private int a = 21; public void method() { String go = "running og";... class Hand //局部内部类 { public void show() { System.out.print
- 2019-06-17 14:17weixin_42119552的博客 关于内部类的问题: 局部内部类访问外部类的局部变量问题 编程时,在线程中使用局部变量时候经常编译器会提示:局部变量必须声明为final [java] view plain copy package test; public class ThreadTest { ...
- 2019-05-22 18:17lycIT的博客 局部内部类里面使用外部变量的时候,这个变量需要是final类型的或者是没有被修改过值的变量(这里的变量指八大基本数据类型的变量,引用类型的变量指向的地址不变,但引用变量的属性值可以修改)。局部内部类使用...
- 2018-01-23 14:08回答 4 已采纳 问题1:楼主分析的很对,确实是栈上的被释放 T推荐是在堆中申请内存 就是QPushButton *pushbutton=new QPushButton(); 基本qt里面的layout啊,w
- 2021-02-12 19:29weixin_39946767的博客 注意:在内部类构造的时候,会将外部类的引用传递进来,并且作为内部类的一个属性,所以内部类会持有一个其外部类的引用。...如何让内部类私有成员不被外部访问相信看完上面两部分,你会觉得,内部类的私有...
- 没有解决我的问题, 去提问