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? 展开
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? 展开
2个回答
展开全部
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覆盖了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询