Object中的toString方法
SUN在Object类中设计toString方法的目的:返回java对象的字符串表示形式。
在现实的开发过程中,Object中的toString方法就是要被重写的。
SUN是这样实现toString方法的:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
Object中的toString方法返回: 类名@java对象的内存地址经过哈希算法得出的int类型值再转换成十六进制.
这个输出结果可以等同看做java对象在堆中的内存地址。
创建一个Person类
class Person{
String name;
int age;
Person(String name,int age){
this.name = name;
this.age = age;
}
//重写toString方法.
public String toString(){
return "Person[name="+name+",age="+age+"]";
}
}
创建一个测试类
public class Test01{
public static void main(String[] args){
//创建一个Object类型的对象.
Object o1 = new Object();
System.out.println(o1.toString()); //java.lang.Object@de6ced
//创建一个Person类型的对象
Person p1 = new Person("刘德华",50);
System.out.println(p1.toString());
Person p2 = new Person("郭富城",50);
System.out.println(p2.toString());
//print方法后面括号中如果是一个引用类型,会默认调用引用类型的toString方法.
System.out.println(p2);
}
}
如果直接打印一个引用数据类型的对象,系统会默认调用其toString方法。