黑马程序员技术交流社区
标题:
关于定义变量是否赋值的问题
[打印本页]
作者:
刘 佳
时间:
2012-9-13 23:08
标题:
关于定义变量是否赋值的问题
本帖最后由 刘 佳 于 2012-9-14 01:17 编辑
看到视频第五天第七小节。讲到面向对象(封装private)。里面老师举例一段代码。以前学习是变量得赋值,但这段代码只写了 int x; 然后后面又讲了有个初始化值。到底怎么个意思,可不可以这样定义,求解。
作者:
孙岳
时间:
2012-9-13 23:15
方法中的变量需要赋初值,否则值是一个不确定的数。
但是类中的成员变量可以不赋初值,因为虚拟机会自动帮它初始化成默认值。
int类型是0,boolean类型是false,引用类型是null,等等。
作者:
李菁
时间:
2012-9-13 23:15
如果没有调用到这个变量,这样定义是不会报错的。
作者:
广驰
时间:
2012-9-13 23:18
成员变量基本数据类型只要建立了都有默认值,而引用型,也就是类的实体对象,其实建立一个存放类实体对象内存地址的一个区域,默认里面就是空
作者:
孙含庆
时间:
2012-9-13 23:24
类成员位置的变量可以只定义,不进行初始化赋值,因为系统会给默认值,我们可以在调用这个变量时再初始化并赋值。
作者:
王金科
时间:
2012-9-13 23:24
public class Test
{
static int x;//成员变量
static boolean boo;//成员变量
static String str;//成员变量
public static void main(String[] args) {
System.out.println(x);//打印结果为0
System.out.println(boo);//结果为false
System.out.println(str);//结果为null
int i;
System.out.println(i);//编译失败
}
}
复制代码
成员变量有默认初始化值,而局部变量需要先初始化,后使用
作者:
樊鹏飞
时间:
2012-9-14 00:13
如果你定义的是类的属性也就是成员变量是可以不赋初始值,但如果你在方法中定义了一个变量,那就需要赋值,否则会编译失败
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2