1-13Object类之toString方法

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方法。

原文地址:https://www.cnblogs.com/superfly123/p/10443863.html