站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题为什么对象里面是空的?

为什么对象里面是空的?

摘要: 为什么对象里面是空的?


public class Test{
public int a;
public int b;
public Vector v;
test(){
a = 0;
b = 0;
}
Test test = new Texst();
test.a = 2;
test.b = 3;
v.addElement();
Test t = new Test();
t = (Test)v.elementAt(0);
}

为什么t.a的和t.b的值都是0???


v.addElement();你没往vector加入任何东西,所以a,b 都是int默认的0值;
另测试代码最好写在函数里或main里,不然看起来好像什么也做不了。


这代码得有个性!!!
--------------------


我写错了..是v.addElement(test);应该是加进去了吧...但是取出来就是0


import java.util.*;

public class Test{
public int a;
public int b;
public Vector v = new Vector();

Test(){
a = 0;
b = 0;
}
public static void main(String[] args){
Vector v = new Vector();
Test test = new Test();
test.a = 2;
test.b = 3;
v.addElement(test);
Test t = (Test)v.elementAt(0);
System.out.println(t.a);
}}

这样你看看 你代码里好几个地方都些错了啊~~~


不可以在Test类里面new一个Test对象吗?


Test test = new Texst();


Texst??? 是这里写错了吗??


不是的..这里是我手写错误..


晕!!!J2ME里面也有main?


我晕




public void x1(){
Test test = new Test();
v = new Vector(10, 5);
test.a = 2;
test.b = 3;
v.addElement(test);
test.a = 4;
test.b = 5;
v.addElement(test);
Test t = new Test();
t = (Test)v.elementAt(0);
System.out.println("t->a:" + t.a + "t->b:" + t.b);
t = (Test)v.elementAt(1);
System.out.println("t->a:" + t.a + "t->b:" + t.b);
}


如果这样打印出来的结果怎么两次都是4,5???


可以不可以每次new出不一样的名字的对象出来呢?这个名字是手机自己给的!


test.a = 2;
test.b = 3;
v.addElement(test);
test.a = 4;
test.b = 5;
v.addElement(test);

注意,你两次往里add的都是test这个对象。
而java里的对象都是引用来操作的。
所以,你的v.elementAt(1),和v.elementAt(0)实际上是指向同一个test。
也就是相当于两个指针指向同一个对象。
正确的做法是,new两个Test对象出来。


thx
我想也是~~~~


↑返回目录
前一篇: 急问!各位高手我直接用记事本编写并用WTK编译并打包的.jar游戏文件传到DOPOD等智能手机当中运行时显示没有应用程序可以打开
后一篇: 散分~响应主任号召~欢迎大家来灌水