首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

Java编程中对象调用静态变量和成员变量有什么区别,该怎么处理

2012-01-19 
Java编程中对象调用静态变量和成员变量有什么区别调用成员变量的代码:public class TestMain {int i50pu

Java编程中对象调用静态变量和成员变量有什么区别
调用成员变量的代码:
  public class TestMain {
int i=50;
public void call(){

System.out.println("调用Call方法 ");
for(i=0;i<3;i++){
System.out.print(i+" ");
if(i==2){
System.out.println("");
}
}
}
public TestMain(){

}

public static void main(String[] args) { // 定义主方法
TestMain t1=new TestMain();
TestMain t2=new TestMain();
t2.i=60;
System.out.println("第一个实例对象调用变量i的结果:"+t1.i++);
t1.call();
System.out.println("第二个实例对象调用变量i的结果::"+t2.i);
t2.call();
}
}

输出结果:
第一个实例对象调用变量i的结果:50
调用Call方法 
0 1 2 
第二个实例对象调用变量i的结果::60
调用Call方法 
0 1 2 

但是把局部变量i定义为静态时(static int i=50)输出结果为:
第一个实例对象调用变量i的结果:60
调用Call方法 
0 1 2 
第二个实例对象调用变量i的结果::3
调用Call方法 
0 1 2  
为什么第二个实例对象调用变量i的结果为3


[解决办法]
因为在for循环执行完后,i的值变成3了,所以第二个对象调用变量i,输出的结果为3.

热点排行