- public class AccessProperty {
- 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 AccessProperty() {
- }
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- AccessProperty t1 = new AccessProperty();
- AccessProperty t2 = new AccessProperty();
- t2.i = 60;
- System.out.println("第一个实例对象调用i的结果" + t1.i++);
- t1.call();
- System.out.println("第二个实例对象调用i的结果" + t2.i);
- t2.call();
- }
- }
复制代码
运行后的结果为:
第一个实例对象调用i的结果60 调用call方法 0 1 2 第二个实例对象调用i的结果3 调用call方法 0 1 2 第一个实例对象调用i的结果是60,此时i=61,调用了t1.call();后不应该是2么,为什么第二个实例对象调用i的结果会是3?
好吧,我脑子短路了,忽然想起来是怎么回事了。 |