黑马程序员技术交流社区
标题:
复习中突然想到的2个疑问
[打印本页]
作者:
余明辉
时间:
2012-8-1 22:44
标题:
复习中突然想到的2个疑问
为什么局部变量不能定义为static?
final 关键字为什么要修饰形参?
很不理解为什么,形参一般都是方法结束以后就没有了,定义成final有意义吗
作者:
hello world
时间:
2012-8-1 22:56
局部变量的作用域就是它所在的方法或代码块中,而static的变量是定义在类中方法体外,是作为整个类共同使用的,它从类加载开始就存在,而局部变量在它所在的方法或代码块结束后就要被回收,final关键字不是要修饰形参,是可以修饰形参,final修饰的变量时最终变量,只能赋值一次。根据程序需求的不同决定是否定义成final
作者:
佟都
时间:
2012-8-4 17:52
本帖最后由 佟都 于 2012-8-4 18:13 编辑
1、为什么局部变量不能定义为static?
局部变量是在方法中才有效的;而static是用来修饰类成员(成员变量、成员方法)的,类成员在类中有效。
无论怎么声明局部变量,也不可能让它的作用域为整个类,所以用static修饰没意义。
2、final 关键字为什么能修饰形参?
通常开发的时候,我们都不会去改变形参的值。因为一旦改变形参的值,下次如果要再使用形参
怎么办?更糟糕地是,如果忘记方法内修改过形参的值而直接使用可能导致错误。用final修饰形参
可以避免这些潜在的问题。
作者:
宫明星
时间:
2012-8-4 18:19
顶楼上,学习了
作者:
余明辉
时间:
2012-8-6 20:55
谢谢,这些小细节,以前还真的没有注意过
问题已解决
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2