package org.hanqi.zwxx;
public class Test {
static int i=47
;
public void call()
{
System.out.println("调用call()方法"
);
for(i=0;i<3;i++
)
{
System.out.print(i+" "
);
if(i==2
){
System.out.println("\n"
);
}
}
}
public static void main(String[] args) {
Test t1=
new Test();
Test t2=
new Test();
t2.i=60
;
System.out.println("第一个实例对象调用变量i的结果:" +
t1.i);
t1.call();
System.out.println("第二个实例对象调用变量i的结果:" +
t2.i);
t2.call();
}
}
View Code
说明:由于使用“t2.i=60;”语句改变了静态成员变量的值,适用对象t1调用成员变量的值也为60,这正是i值被定义为静态成员变量的功效,即使使用两个对象对同一个静态成员变量进行操作,依然可以改变静态成员变量的值,因为在内存中两个对象同时指向同一块内存区域。t1.call()语句执行完毕后,i值变为3,当再次调用call()方法时又被重新赋值为0,做循环输出工作
详见课本Pg161 例7.13
转载于:https://www.cnblogs.com/wangchuanqi/p/5276240.html