黑马程序员技术交流社区

标题: 什么样的变量在声明的时候就有默认值? [打印本页]

作者: mmakun    时间: 2015-5-30 12:45
标题: 什么样的变量在声明的时候就有默认值?
什么样的变量在声明的时候就有默认值?原理和原因又是什么呢
作者: edithe    时间: 2015-5-30 13:00
成员变量
作者: songyu    时间: 2015-5-30 13:15
当对象建立是,成员变两会被加载到对存中,然后赋值为空.
作者: xgd6612    时间: 2015-5-30 13:28
楼上正解
作者: forTomorrow    时间: 2015-5-30 13:34
局部变量,在声明的时候会在栈中开辟一块空间,并初始化默认值,类中的成员变量只有在调用的时候才会在堆内存中开辟空间并赋默认值
作者: bin2015    时间: 2015-5-30 17:42
本帖最后由 bin2015 于 2015-5-30 17:43 编辑

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

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

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

明白了,多谢
作者: mmakun    时间: 2015-5-30 18:26
forTomorrow 发表于 2015-5-30 13:34
局部变量,在声明的时候会在栈中开辟一块空间,并初始化默认值,类中的成员变量只有在调用的时候才会在堆内 ...

非常感谢,了解了
作者: mmakun    时间: 2015-5-30 18:29
songyu 发表于 2015-5-30 13:15
当对象建立是,成员变两会被加载到对存中,然后赋值为空.

非常感谢,明白 了
作者: ExpressionKunin    时间: 2015-5-30 18:34
成员变量。
作者: songyu    时间: 2015-5-30 18:50
mmakun 发表于 2015-5-30 18:29
非常感谢,明白 了

我错别字好多啊:L
作者: l598790586    时间: 2015-5-30 20:29
楼上的有些说错了,不是所有的成员变量都是空,基本数据类型是0,  或者0.00、char是空,boolean 是false,
作者: zhousuo28    时间: 2015-5-30 21:10
成员变量在定义的时候如果没赋值的话就会赋默认值
作者: 1315317959    时间: 2015-5-30 21:39
成员变量有默认初始值,局部变量必须先定义再赋值才能使用。
作者: a397131103    时间: 2015-5-30 21:46
xuexi le
作者: java8023    时间: 2015-5-30 22:02
静态变量最早了,随着类的加载就加载了,其实吧,在堆内存的都会有初值的,除了基本数据类型还有引用型数据类型,不过其初值是null。
作者: lizhi    时间: 2015-5-30 22:12
mmakun 发表于 2015-5-30 12:45
什么样的变量在声明的时候就有默认值?原理和原因又是什么呢

成员变量……
作者: TOBESKY    时间: 2015-5-30 22:17
成员 变量




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