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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

什么样的变量在声明的时候就有默认值?原理和原因又是什么呢

17 个回复

倒序浏览
成员变量
回复 使用道具 举报
当对象建立是,成员变两会被加载到对存中,然后赋值为空.
回复 使用道具 举报
楼上正解
回复 使用道具 举报
局部变量,在声明的时候会在栈中开辟一块空间,并初始化默认值,类中的成员变量只有在调用的时候才会在堆内存中开辟空间并赋默认值
回复 使用道具 举报
本帖最后由 bin2015 于 2015-5-30 17:43 编辑

我总结了一下成员变量和局部变量特点

成员变量在初始化的时候有默认值,而局部变量必须在初始化的时候赋值才能使用。
成员变量在类之类,方法之外一般都是类的属性。而局部变量定义在方法里,语句里或者是形式参数列表里
回复 使用道具 举报
mmakun 中级黑马 2015-5-30 18:24:45
7#
bin2015 发表于 2015-5-30 17:42
我总结了一下成员变量和局部变量特点

成员变量在初始化的时候有默认值,而局部变量必须在初始化的时候赋值 ...

明白了,多谢
回复 使用道具 举报
mmakun 中级黑马 2015-5-30 18:26:32
8#
forTomorrow 发表于 2015-5-30 13:34
局部变量,在声明的时候会在栈中开辟一块空间,并初始化默认值,类中的成员变量只有在调用的时候才会在堆内 ...

非常感谢,了解了
回复 使用道具 举报
mmakun 中级黑马 2015-5-30 18:29:29
9#
songyu 发表于 2015-5-30 13:15
当对象建立是,成员变两会被加载到对存中,然后赋值为空.

非常感谢,明白 了
回复 使用道具 举报
成员变量。
回复 使用道具 举报
mmakun 发表于 2015-5-30 18:29
非常感谢,明白 了

我错别字好多啊:L
回复 使用道具 举报
楼上的有些说错了,不是所有的成员变量都是空,基本数据类型是0,  或者0.00、char是空,boolean 是false,
回复 使用道具 举报
成员变量在定义的时候如果没赋值的话就会赋默认值
回复 使用道具 举报
成员变量有默认初始值,局部变量必须先定义再赋值才能使用。
回复 使用道具 举报
xuexi le
回复 使用道具 举报
静态变量最早了,随着类的加载就加载了,其实吧,在堆内存的都会有初值的,除了基本数据类型还有引用型数据类型,不过其初值是null。
回复 使用道具 举报
lizhi 来自手机 中级黑马 2015-5-30 22:12:14
17#
mmakun 发表于 2015-5-30 12:45
什么样的变量在声明的时候就有默认值?原理和原因又是什么呢

成员变量……
回复 使用道具 举报
成员 变量
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马