黑马程序员技术交流社区

标题: 局部内部类访问的局部变量能是static修饰的吗? [打印本页]

作者: NCry    时间: 2014-11-18 08:51
标题: 局部内部类访问的局部变量能是static修饰的吗?
话说局部内部类访问局部变量是final修饰的。因为final修饰的在内存里面一直存在。所以作为在内存中一直存在的static能否修饰局部变量让局部内部类访问呢?
作者: NCry    时间: 2014-11-18 12:37
沙发自己做,谁来把你解决下。
作者: 陈国华    时间: 2014-11-18 12:55
内部类如果是非静态的就能访问吧
作者: 夏至落叶    时间: 2014-11-18 23:03
不行吧   
作者: chen_32768    时间: 2014-11-18 23:03
你自己写段代码试试,很简单的。
作者: 朱奕东    时间: 2014-11-18 23:07
骚年,这种问题你不是要问,而是要敲~~
作者: 地瓜君    时间: 2014-11-18 23:09
明天的同桌~static修饰局部变量没什么意义啊
作者: NCry    时间: 2014-11-18 23:09
陈国华 发表于 2014-11-18 12:55
内部类如果是非静态的就能访问吧

这个。。。。。。。
作者: NCry    时间: 2014-11-18 23:12
课本第96页第四行,上面写着:注意,static只能修饰成员变量,不能修饰局部变量。看来看书还是有用滴。
作者: 迷失的小Z    时间: 2014-11-18 23:14
static 不可以修饰 局部变量……
作者: 天天小志    时间: 2014-11-18 23:15
不可以的,会报错的吧!就算你可以修饰局部变量;你的方法也必须得用static修饰的啊
作者: zbt    时间: 2014-11-18 23:27
不可以,static不能修饰局部变量
作者: 江南小道士    时间: 2014-11-18 23:30
貌似static 只能修饰成员,不能修饰局部吧。。。。。
作者: 随风sky    时间: 2014-11-18 23:31
不可以,Static只能修饰成员变量!
作者: 轩辕邵宇    时间: 2014-11-18 23:34
楼上的大神们都给你说了 我就顶把  
作者: 阿穆隆    时间: 2014-11-18 23:47
嗯。。。我也顶吧。。。我是进来学习的。原来不可以啊,我以为可以呢、
作者: a986875894    时间: 2014-11-19 00:09
应该可以吧
作者: ⋛⋌⋚JEEP    时间: 2014-11-19 00:28
     static只能修饰成员(成员方法和成员变量),这是因为生命周期的长短问题。局部变量一般存储在栈内存中,方法执行完毕后,局部变量就会死掉,资源被释放;要是static能修饰局部变量,那么它的生命周期该有多长,这样做有啥意义?要是真要调用这个局部变量,Java中提供的修饰符是final。

      而且我们要知道内部类放在外部类不同的位置时的用法也是不同的,在局部位置,我暂且叫这个内部类为“局部”内部类,这个局部内部类不可以被成员修饰符所修饰,包括private static 等等 也不能调用所在方法中的局部变量,只能调用被final修饰的局部变量,这个同样是跟生命周期有关,相关资料可以参考教学视频或者问问度娘,这里就不多解释:)
作者: 空灵    时间: 2014-11-19 00:49
这个是不可以的,static只能修饰成员变量和函数
作者: 返璞归真    时间: 2014-11-19 01:31
自己试试撒
作者: zhangyangLengen    时间: 2014-11-19 08:24
楼上,说的对
作者: NCry    时间: 2014-11-19 23:20
⋛⋌⋚JEEP 发表于 2014-11-19 00:28
static只能修饰成员(成员方法和成员变量),这是因为生命周期的长短问题。局部变量一般存储在栈内存 ...

{:3_53:}正解!!!!这是我前几天和同学们学习的过程中碰到的问题。想提出来帮助下不知道的人!
作者: lwh316658735    时间: 2014-11-19 23:33
长知识了!
作者: ⋛⋌⋚JEEP    时间: 2014-11-19 23:37
NCry 发表于 2014-11-19 23:20
正解!!!!这是我前几天和同学们学习的过程中碰到的问题。想提出来帮助下不知道的人! ...

再接再厉:)
作者: 郑飞    时间: 2014-11-20 09:40
局部内部类访问局部变量问题 不是用什么修饰能解决的 是由于访问者和被访问者生命周期不同造成的 final修饰后 其实变量一样随着方法执行完毕而失去意义 只是JVM在这种特殊情况下把final修饰的变量拷贝到该内部类对象内部
其实这也只是个大概说法 真正内部原理只能上网看大神验证代码
作者: NCry    时间: 2014-11-20 18:00
⋛⋌⋚JEEP 发表于 2014-11-19 23:37
再接再厉

谢谢大神鼓励!!!我会努力的!
作者: NCry    时间: 2014-11-20 18:01
郑飞 发表于 2014-11-20 09:40
局部内部类访问局部变量问题 不是用什么修饰能解决的 是由于访问者和被访问者生命周期不同造成的 final修饰 ...

又涨知识了!哈哈
作者: wzl963358694    时间: 2014-11-20 18:23
NCry 发表于 2014-11-18 23:12
课本第96页第四行,上面写着:注意,static只能修饰成员变量,不能修饰局部变量。看来看书还是有用滴。 ...

什么课本?黑马还有课本?书名是啥?
作者: NCry    时间: 2014-11-20 18:50
wzl963358694 发表于 2014-11-20 18:23
什么课本?黑马还有课本?书名是啥?

叫java基础入门




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2