已有101人关注
书P140面例7.13
发表在Java图书答疑 2016-08-19
是否精华
版块置顶:
public static void main(String[] args) { // 定义主方法
AccessProperty t1 = new AccessProperty(); // 创建一个对象
AccessProperty t2 = new AccessProperty(); // 创建另一个对象
t2.i = 60; // 将类成员变量赋值为60
// 使用第一个对象调用类成员变量
System.out.println("第一个实例对象调用变量i的结果:" + t1.i++);
t1.call(); // 使用第一个对象调用类成员方法
// 使用第二个对象调用类成员变量
System.out.println("第二个实例对象调用变量i的结果:" + t2.i);
t2.call(); // 使用第二个对象调用类成员方法
}
这段程序中,“System.out.println("第一个实例对象调用变量i的结果:" + t1.i++);”这句话,为什么括号里是"t1.i++",而不是"t1.i"?
还有,为什么“System.out.println("第二个实例对象调用变量i的结果:" + t2.i);”这句话的输出结果是“3”???


分享到:
精彩评论 2
后天_mrkj
学分:0 LV1
2016-08-20
沙发
为什么不回我??????????????
静心_mrkj
学分:0 LV1
2016-08-20
板凳
不是不回,而是刚有时间回。
"t1.i++"和"t1.i"的作用是相同的,不同的是i的值。尽管控制台输出"t1.i++"的值为60,但此时的i在执行i++后,由60变为了61。在程序进行到t1.call()时,call()方法又将i的值由61先后替换为0、1、2。当i=3时,跳出循环。注意此时的i=3,所以“System.out.println("第二个实例对象调用变量i的结果:" + t2.i);”这句话的输出结果是“3”。
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照