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

joyscsnd 2012-10-20 12:53:47

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是怎么得来的,谢谢大神们。。。
...全文
278 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
huntor 2012-10-20
  • 打赏
  • 举报
回复
成员变量中的数字默认初始化为0
引用为null
boolean 为 false
ZZZ5512536 2012-10-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

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……
[/Quote]
+1

首先你要知道你上面定义的那些变量的默认值是多少,在你没有特别的给这些变量赋予其他值的话,你打印出来就是它们的默认值。


Quan m=new Quan();
System.out.println(" 打印数据x="+m.x); // 打印出byte的默认值 0
胸口碎大石_ 2012-10-20
  • 打赏
  • 举报
回复
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
wang7535067 2012-10-20
  • 打赏
  • 举报
回复
Quan m=new Quan();创建一个对象,并初始化。
m.x = 0;是初始化就是0,而不是m*0=0
joyscsnd 2012-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
成员变量中的数字默认初始化为0
引用为null
boolean 为 false
[/Quote]

哥哥,Quan m=new Quan();这个作用是什么?
为什么m.x是0呢,难道是m*0=0吗?
别笑我啊。。我是真的不明白,求指导。谢谢!!!!

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧