日期:2014-05-20  浏览次数:20594 次

求指导--大神们帮忙指点下new的用法

public class Quan {
byte x;
short y;
int z;
int z1;
long a;
float b;
double c;
char d;
boolean e;
public static void main(String[] args)
{
int z1=111;
System.out.println(" 打印数据z="+z1);
Quan m=new Quan();
System.out.println(" 打印数据x="+m.x);
System.out.println(" 打印数据y="+m.y);
System.out.println(" 打印数据z="+m.z);
System.out.println(" 打印数据a="+m.a);
System.out.println(" 打印数据b="+m.b);
System.out.println(" 打印数据c="+m.c);
System.out.println(" 打印数据d="+m.d);
System.out.println(" 打印数据e="+m.e);
}

}

哥哥们,我是刚学java几天的菜鸟,书上有个例子。步骤 到了
 Quan m=new Quan();
 System.out.println(" 打印数据x="+m.x);
这一步看不明白,这一步输出结果是 打印数据x=0
请问这个0是怎么得来的,谢谢大神们。。。


------解决方案--------------------
成员变量中的数字默认初始化为0
引用为null
boolean 为 false
------解决方案--------------------
Quan m=new Quan();创建一个对象,并初始化。
m.x = 0;是初始化就是0,而不是m*0=0
------解决方案--------------------
Quan m=new Quan();

你只是实例化了 并没有给里面的属性赋值

至于为什么是初始值为0 这是jvm 规范 , 不同类型的变量 有不同的默认值

int : 0
byte : 0
long : 0
shor : 0
float : 0.0
double : 0.0
boolean : false
char : '\u0000'
object reference : null
------解决方案--------------------
探讨

Quan m=new Quan();

你只是实例化了 并没有给里面的属性赋值

至于为什么是初始值为0 这是jvm 规范 , 不同类型的变量 有不同的默认值

int : 0
byte : 0
long : 0
shor : 0
float : 0.0
double : 0.0
boolean : false
char : '\u0000'
object re……