Object类之toString方法

Object中的toString方法

SUN在Object类中设计toString方法的目的:返回java对象的字符串表示形式。

在现实的开发过程中,Object中的toString方法就是要被重写的。

SUN是这样实现toString方法的:

publicStringtoString(){

    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方法.    publicStringtoString(){

        return "Person[name="+name+",age="+age+"]";

    }

}

创建一个测试类

public class Test01{

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

你可能感兴趣的:(Object类之toString方法)