黑马程序员技术交流社区
标题:
关于静态属性的一个问题
[打印本页]
作者:
zhkqy
时间:
2013-12-10 20:31
标题:
关于静态属性的一个问题
//创建一个类
public class Num {
static int a;
public void set(int a){
Num.a=a;
}
public int get(){
return a;
}
}
//情况一
public static void main(String [] args){
Vector<Num> v=new Vector<Num>();
Num num=new Num();
num.set(4);
v.add(num);
num.set(5);
System.out.println(v.elementAt(0).get());
}
//情况二
public static void main(String [] args){
Num s=new Num();
Vector<Integer> v=new Vector<Integer>();
s.set(4);
v.add(s.get());
s.set(5);
System.out.println(v.elementAt(0));
}
情况一输出结果是5,而情况二输出结果是4,为什么是这样呢?
作者:
四五六七八
时间:
2013-12-10 20:56
情况二: Num s=new Num();
Vector<Integer> v=new Vector<Integer>();
s.set(4);
v.add(s.get()); //这是往集合里添加一个数字4,
s.set(5); //这是设置Num对象的a值为5,
System.out.println(v.elementAt(0)); //取出集合里添加的数字 4
你自己仔细看看 就清楚了
作者:
高亮亮
时间:
2013-12-10 20:57
不知道关于这个Vector跟Integer……还没看到那里。不过我想问下楼主,为什么你的第一个类里面,不用this.a=a;我觉得这样会不会逻辑感好点,或者你那样用会有弊端?纯新手,无责怪。顶起
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2