数组初始化的问题 在线等。。。

wuhui6219038 2013-07-28 07:32:53

public class C {
private int[] arr=new int[4];

public static void main(String[] args) {
new C().run();
}

public void setArr(int[] arr) {
this.arr = arr;
}
public void getArr() {
for(int i=0;i<4;i++){
System.out.println(arr[i]);
}
}
public void run() {
int[] a= {1,2,3,4};
new C().setArr(a);
new C().getArr();

}

}

为什么输出都是0?????
...全文
119 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
TheoneFx 2013-07-29
  • 打赏
  • 举报
回复
两个new 访问的都不是一个对象啊亲。。。。。
JockeyDarcy 2013-07-29
  • 打赏
  • 举报
回复
两个new……
oh_Maxy 2013-07-28
  • 打赏
  • 举报
回复
new C() new两次,已经是两个不同对象了。好比你盖了一个房子,在这个房子里放了点家具。然后你又盖了个房子,想在这个房子里找刚才放的家具。。。
小杰68 2013-07-28
  • 打赏
  • 举报
回复
同意楼上的!!!
gaofuqi 2013-07-28
  • 打赏
  • 举报
回复

new C().setArr(a);
new C().getArr();
上面创建了两个不同的对象,你改变的只是第一个对象的arr属性的值,然后打印的是第二个对象的arr数组里面的值,改成下面试试:

setArr(a);
getArr();
S117 2013-07-28
  • 打赏
  • 举报
回复
new C().setArr(a); new C().getArr(); 你 getArr是新new出来的,不是上面那个,上面那个赋值没用的! 你要么改成private static int[] arr = new int[4]; 要么改成 C c = new C(); c.setArr(a);; c.getArr();

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧