A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

话说局部内部类访问局部变量是final修饰的。因为final修饰的在内存里面一直存在。所以作为在内存中一直存在的static能否修饰局部变量让局部内部类访问呢?

评分

参与人数 1黑马币 +5 收起 理由
⋛⋌⋚JEEP + 5 鼓励一下

查看全部评分

28 个回复

正序浏览
NCry 中级黑马 2014-11-20 18:50:39
29#
wzl963358694 发表于 2014-11-20 18:23
什么课本?黑马还有课本?书名是啥?

叫java基础入门
回复 使用道具 举报
NCry 发表于 2014-11-18 23:12
课本第96页第四行,上面写着:注意,static只能修饰成员变量,不能修饰局部变量。看来看书还是有用滴。 ...

什么课本?黑马还有课本?书名是啥?
回复 使用道具 举报
NCry 中级黑马 2014-11-20 18:01:34
27#
郑飞 发表于 2014-11-20 09:40
局部内部类访问局部变量问题 不是用什么修饰能解决的 是由于访问者和被访问者生命周期不同造成的 final修饰 ...

又涨知识了!哈哈
回复 使用道具 举报
NCry 中级黑马 2014-11-20 18:00:13
26#

谢谢大神鼓励!!!我会努力的!
回复 使用道具 举报
郑飞 高级黑马 2014-11-20 09:40:07
25#
局部内部类访问局部变量问题 不是用什么修饰能解决的 是由于访问者和被访问者生命周期不同造成的 final修饰后 其实变量一样随着方法执行完毕而失去意义 只是JVM在这种特殊情况下把final修饰的变量拷贝到该内部类对象内部
其实这也只是个大概说法 真正内部原理只能上网看大神验证代码
回复 使用道具 举报
NCry 发表于 2014-11-19 23:20
正解!!!!这是我前几天和同学们学习的过程中碰到的问题。想提出来帮助下不知道的人! ...

再接再厉:)
回复 使用道具 举报
长知识了!
回复 使用道具 举报
NCry 中级黑马 2014-11-19 23:20:30
22#
⋛⋌⋚JEEP 发表于 2014-11-19 00:28
static只能修饰成员(成员方法和成员变量),这是因为生命周期的长短问题。局部变量一般存储在栈内存 ...

{:3_53:}正解!!!!这是我前几天和同学们学习的过程中碰到的问题。想提出来帮助下不知道的人!
回复 使用道具 举报 1 0
楼上,说的对
回复 使用道具 举报
自己试试撒
回复 使用道具 举报
空灵 中级黑马 2014-11-19 00:49:37
19#
这个是不可以的,static只能修饰成员变量和函数
回复 使用道具 举报
     static只能修饰成员(成员方法和成员变量),这是因为生命周期的长短问题。局部变量一般存储在栈内存中,方法执行完毕后,局部变量就会死掉,资源被释放;要是static能修饰局部变量,那么它的生命周期该有多长,这样做有啥意义?要是真要调用这个局部变量,Java中提供的修饰符是final。

      而且我们要知道内部类放在外部类不同的位置时的用法也是不同的,在局部位置,我暂且叫这个内部类为“局部”内部类,这个局部内部类不可以被成员修饰符所修饰,包括private static 等等 也不能调用所在方法中的局部变量,只能调用被final修饰的局部变量,这个同样是跟生命周期有关,相关资料可以参考教学视频或者问问度娘,这里就不多解释:)
回复 使用道具 举报 2 0
应该可以吧
回复 使用道具 举报
嗯。。。我也顶吧。。。我是进来学习的。原来不可以啊,我以为可以呢、
回复 使用道具 举报
楼上的大神们都给你说了 我就顶把  
回复 使用道具 举报
不可以,Static只能修饰成员变量!
回复 使用道具 举报
貌似static 只能修饰成员,不能修饰局部吧。。。。。
回复 使用道具 举报
zbt 中级黑马 2014-11-18 23:27:25
12#
不可以,static不能修饰局部变量
回复 使用道具 举报
不可以的,会报错的吧!就算你可以修饰局部变量;你的方法也必须得用static修饰的啊
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马