java中对象的属性和行为

2024-12-18 10:41:13
推荐回答(3个)
回答1:

输出结果t1.i++写成t1.i有什么分别.
答:输出结果是没有什么分别的,只是在输出结果之后,t1.i的值自增1
为什么输出t2的时候结果不是60而是3.很想不明白.
t2输出时,已经调用了t1.call方法,由于i是一个静态变量,它的值也表现在CopyOfTransferProperty其它所有的对象中
for(i=0;i<3;i++){
System.out.print(i+" ");
if(i==2){
System.out.println("\n");
}
}
循环结束后,i的值为3

回答2:

System.out.println("第一个实例对象调用变量i的结果:"+t1.i++);
是先输出t1.i的值之后才进行++ 操作的,这个过程是先使用后++操作
输出3是因为在执行call方法中的for语句重新给i赋值了

回答3:

首先因为i是一个静态变量.为类中所有对象所共享.
刚开始 i=47,然后t2.i=60,把它改为60.
然后,System.out.println("第一个实例对象调用变量i的结果:"+t1.i++);
打印出i的值为60.(i++是先取i的值,再让i自加1).

然后t1.call();经过循环 i的值变为3.
最后,System.out.println("第二个实例对象调用变量i的结果:"+t2.i);
打印出i的值为3.