java 变量 初始值 问题

inti;System.out.print(i);//会报错,没被初始为0吗?=========================classre{inti;staticin... int i;
System.out.print(i);//会报错,没被初始为0吗?

=========================
class re{
int i;

static int a;
finl int d; //d的值是多少?

AA s; //自定义的AA类,s现在的值是什么?
}
re w = new re();
system.out.print(w.i);//为什么会打印是0,不会报错?
system.out.print(w.a);/、这里的 a和上面的i的值有什么不同?
===================
展开
 我来答
keep5
2013-09-02 · TA获得超过298个赞
知道小有建树答主
回答量:220
采纳率:100%
帮助的人:203万
展开全部
这个可以这么形象化,
第一个int i变量没指向哪里 所以没有什么实际意义 不知道这个i是什么东西,
而当用创建对象调用i时候 有了指向的对象 有了实际意义 通过默认构造函数初始化成0
就比如 第一个i不知道是什么东西 不进行初始化 系统不认
而第二个i可以比作是一个钱包对象 里面有0元
希望对你有所帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-02
展开全部
int i;
如果是类变量JAVA会给默认初值0

方法内,就不会。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月下独酌TOKYO
2013-09-02
知道答主
回答量:40
采纳率:0%
帮助的人:17.4万
展开全部
int型默认定义为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
YEKongBob
2013-09-02
知道答主
回答量:29
采纳率:0%
帮助的人:11.1万
展开全部
可不同了,static是静态变量独一份的,i的话只要你new一个对象就有一个新的i,a的话不管你new几个对象都用同一个a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式