java的打印问题

publicclassUser{privateinta;publicintgetA(){returna;}publicvoidsetA(inta){this.a=a;}p... public class User {
private int a;

public int getA() {
return a;
}

public void setA(int a) {
this.a = a;
}

public static void main(String[] args) {
User u=new User();

u.setA(12);

List l=new ArrayList();
l.add(u);
//这个get(0)不懂什么意思
u=(User) l.get(0);

System.out.println(u.getA());
u.setA(15);
System.out.println(u.getA());
//为什么又打印的是15?
u=(User) l.get(0);
System.out.println(u.getA());
}

}

为什么打印的是12 ,15, 15?
展开
 我来答
l2011h10w14
2013-10-17 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:58.8万
展开全部


public class User {
private  int a;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}

public static void main(String[] args) {
User u=new User();
u.setA(12);//给user对象的a赋值,这个时候a=12

List l=new ArrayList();
l.add(u);//把刚刚那个u放在list中,这个时候list中的第一个元素就是这个u
u=(User) l.get(0);//这个get(0)不懂什么意思------获取list中的第一个元素,也就是刚刚的那个u

System.out.println(u.getA());//输出,这个时候值为12
u.setA(15);//修改u中的值,这个时候值变成15了
System.out.println(u.getA());//为什么又打印的是15?--因为上边改变值了,所以这里输出15
u=(User) l.get(0);//获取list中的第一个元素,也就是上边改变后的u
System.out.println(u.getA());
}
}
匿名用户
2013-10-17
展开全部
get(0)其中的0就类似与数组中的下标 ,表示第一个数,也就是你添加的那个数,最后一次又打印15是因为把刚开始的12覆盖了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式