关于JAVA数组打印值的简单问题,望大家指教 ,谢谢!

classstudents{publicstaticvoidmain{string[]args}Student[]ss=newStudent[]{newStudent("... class students
{public static void main{string[] args}
Student[] ss=new Student[]{new Student

("zhangsan",18),new Student("lisi",20)}
for (int i=0;i<ss.length;i++)
{system.out.println(ss[i]);}//1
}
class Student
{int num;
String name;
Student(int num, String name)
{ this.num=num;
this.name=name;
}
public String toString()
{
return "number="+num+","+name="+name;}
}

我想问的是,在1句打印数组的时候,我个人觉得数组里存是的对象的引用,或者说地址,应该打印的数组的值是地址,但是TOSTRING()RETURN返回的是字符串,这句的作用就是让数组打印这句话,那么原来不是存的是地址吗,应该怎样理解?
展开
 我来答
little902
2007-06-19 · TA获得超过811个赞
知道小有建树答主
回答量:1162
采纳率:0%
帮助的人:787万
展开全部
System.out.println();方法 去打印的话先去掉toString()方法.如果没有重写Object的toString()这时打印出来的是地址.但是你这里重写了这个方法.自然就会得到你return的值.如果不重写的话打印的是地址了.而你的数组中保存的应该是地址引用.当你有toString()方法时自动去调用显示return的字符串..没有这个方法就是显示地址位置了..

不知道我说的罗嗦不...
百度网友c547160
2007-06-19 · TA获得超过1377个赞
知道小有建树答主
回答量:2447
采纳率:0%
帮助的人:2101万
展开全部
数组里面是存放的对象的引用,也就是地址,但是为什么不是打印地址呢.因为Student重写了父类的toString的方法,在JAVA中,所有的类的父类都是Object类,他的toString方法就是打印对象地址的,如果你想按照自己的要求输出的话,你必须重写这个方法!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式