黑马程序员技术交流社区

标题: 局部变量和成员变量 [打印本页]

作者: 098ASD    时间: 2015-7-4 23:02
标题: 局部变量和成员变量
成员变量和局部变量的区别?
                A:定义位置区别
                        成员变量        在类中,方法外
                        局部变量        在方法中,或者方法的形式参数
                B:初始化值的区别
                        成员变量        有默认初始化值
                        局部变量        没有默认初始化值,想先定义,赋值,才能使用
                C:存储位置区别
                        成员变量        存储在堆中,随着对象的存在而存在,随着对象的消失而消失。
                        局部变量        存储在栈中,随着方法的调用而存在,随着方法调用完毕而消失。
            在使用变量的时候:
                首先在局部范围找,有就使用。
                接着在成员方法找,有就使用。
                如果在成员位置没有,就报错。

                使用过程中,遵循一个原则:就近原则。
作者: Frank2008    时间: 2015-7-5 00:13
总结的很好!!!
作者: 赵龙    时间: 2015-7-5 00:45
刚刚看了一下  很不错 顶一个吧…………
作者: samove    时间: 2015-7-5 20:44
以前学VB的时候,记得有说过全局变量的,然后,现在学习这Java,说的是成员变量,就没听说过全局变量是什么了,我也就以为成员变量就是全局变量,刚才看这楼主这么详细的总结,就又想到这个点。
问了一下度娘:在现代的面向对象语言如Java,C++,C#,Ruby中,由于变量都是封装在类里面的,对别的类不可见,所以已经几乎完全抛弃了全局变量的概念。然而,可以通过把一个类定义为public static,把类成员变量也定义为public static,使该变量在内存中占用固定、唯一的一块空间,来实现全局变量的功能。
貌似,全局变量是要比成员变量还要大的一个东东。^_^  学习了,谢谢楼主的总结。
作者: 林沐风    时间: 2015-7-5 20:45
总结的不错,学习了
作者: firwood    时间: 2015-7-5 21:02
对比总结的很详细。总结出来便于记忆。




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