黑马程序员技术交流社区
标题:
对象的引用值问题
[打印本页]
作者:
kenhe
时间:
2014-12-17 22:22
标题:
对象的引用值问题
当建立引用数据类型时:
比如 数组 int[] arr=new int[3];
集合类中:ArrayList al=new ArrayList();
System.out.println(arr);
System.out.println(al);
输出数组时打印的是地址值,输出al时打印的却是集合中的内容。
不是都应该是地址值吗?
作者:
Jason996
时间:
2014-12-17 22:26
打印出来有问题?楼主现在知道答案了没
作者:
tw-IT
时间:
2014-12-17 22:49
数组引用变量是指向新数组的内存地址,数组引用变量存的内存地址
而集合中的arraylist中的引用变量al指向的是一个arraylist对象,因为arraylist类的是系统自带的,而且如果打印它的对象是,系统的对自动调用toString()方法,下面有例子 你看下就知道了
public class Student {
String name;
int age;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override //重写toString()方法
public String toString() {
System.out.println("调用toString方法");
return "Student [age=" + age + ", name=" + name + "]";
}
public static void main(String[] args) {
System.out.println(new Student("lisi",47));
}
}
输出结果是:
调用toString方法
Student [age=47, name=lisi]
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2