Java为什么可以在实例化对象的时候在后面的括号里赋值

 我来答
百度网友bec66c6
2019-10-16 · TA获得超过1008个赞
知道小有建树答主
回答量:3930
采纳率:48%
帮助的人:320万
展开全部
您好,非常荣幸能在此回答您的问题。以下是我对此问题的部分见解,若有错误,欢迎指出。展开全部
//举例说明
public class P {
{
//1、输出a=0
System.out.println("a="+this.a);
a=6;
//2、输出a=6
System.out.println("a="+this.a);
}
int a=9;
public static void main(String[] args) {
//3、输出a=9
System.out.println("a="+new P().a);
}
}
/*为什么是按1、2、3的顺序输出?
分析:
首先,new P().a中的new会分配内存,并将a初始化为默认值0(即用0填充分配的内存),所以先输出1;
其次,字段的赋值与初始化块的执行是按顺序执行的(谁在前就先执行谁),所以先执行初始化块中的a=6;后执行int a=9;中的赋值操作,最后a的值是9。
*/非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式