java中为什么输出是false

有一道题是
public class Foo{
private boolean x;
public static void main(String[] args){
Foo foo =new Foo();
System.out.println(foo.x);
}
}
我在电脑输出的是false 但是为什么是 false 不是true
还有。输出语句 里 (foo.x) 这种形式 是什么意思 他输出得到为什么只是boolean里的值

Foo类里面x的类型明显是原始数据类型,原始数据作为Class的属性是有默认值的,boolean的默认值就是false。foo.x明显就是输出对象foo的x属性值,默认是false,没错的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-01-09
java中变量的默认初始值都是0,0就是false,
foo是该Foo类的一个实例,x是他的属性,foo.x即是他的属性值, 因为x是boolean类型的,所以他有两个值,true和false。追问

那现在的foo 是不是空的?。就是0 所以是false?

追答

foo是new过的一个实例,由于没有给他初始值,所以他的属性的值都是0

本回答被提问者和网友采纳
第2个回答  2015-08-12
boolean变量的默认值是false;
foo.x是指foo这个对象中得x属性,所以输出的结果就是boolean值
第3个回答  2015-08-12
Foo foo 是对Foo类的构造方法进行实例化。之后就可以用foo.(方法名或变量名)进行调用该类中的方法或变量
第4个回答  2015-08-12

你这样写真的可以吗?看来我涨姿势了。

楼上说的:foo是该Foo类的一个实例,x是他的属性。可是我看到的x是上面定义的一个boolean类型,怎么成了foo的属性值了?


相似回答