toString归属于Object类,而Object类是默认被所有Java类继承的。toString方法就是此类(Object)中的一个用于返回对象地址的方法。具体应用如下:
package com.chen;
public class TestObject {
//在此处定义TestObject类的用户名和密码属性
String id;
String pwd;
//含两个参数的构造方法
public TestObject(String id, String pwd) {
this.id = id;
this.pwd = pwd;
}
public static void main(String[] args) {
// 给该类创建一个对象
TestObject tb =new TestObject("lisi","ugly");
//输出该对象地址值
System.out.println(tb.toString());
}
}
运行结果如下:
那么问题来了,我们该如何解读这样的运行结果呢?我们找到Object类中关于toString的源码信息:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
结合我们之前程序段输出的结果来看:
(1) return getClass().getName()指的是我们要输出地址的包名以及类的名称。
(2)“@”是一个字符形式的输出,一般是地址符的表示。
(3)Integer.toHexString(hashCode())是指将括号中的(hashCode())值用十六进制位表示出来。
那我们该如何重写toString方法呢?
其实这和我们对一般方法的重写是一样的套路:
这样,我们就完成了关于toString类的整体认识啦!
感谢关注+收藏!