Object类中方法总结之toString()

来源:互联网 发布:淘宝什么是转化率 编辑:程序博客网 时间:2024/04/29 09:58

    可还记得java入门的第一课么??System.out.println("hello world")。显而易见这个结果是一个字符串喽,可是如果括号中的参数是一个应用实例呢?那么会怎样呢?接下来就得来学习一下toString()方法究竟都干了些啥……

  toString():该方法返回一个表示该对象的字符串,返回值内容包括:实例对应类名+@+对象哈希值的十六进制表示值,

    实现过称为:getClass().getName()+'@'+Inter.toHexString(hashCode())。

   (当然如果我们自己写的类重写了toString()方法内容那就另当别论啦>_<)

  所以,当打印引用的信息时,实际上会打印出引用所指对象的toString()方法的返回值,因为每个类都直接或间接地继承Object,而Object类中定义了toString()方法,所以每个类都继承了toString(),也可以重写该方法。

    此处奉上Source Code,方便理解:

public class ObjectTest{public static void main(String[] args){Object object = new Object();System.out.println(object);System.out.println(object.toString());String str = "aaa";System.out.println(str);System.out.println(str.toString());Student student = new Student();System.out.println(student);System.out.println(student.toString());}}class Student{}
运行结果:

    在Java中,若对象没有重写toString()方法,那么它会调用父类的toString(),如果父类也没有重写toString()方法,那么会继续逐级向上调用,直到调用到了Object的toString()方法。