toString()方法1
在Java编程语言中,`toString()`方法扮演着重要的角色,它是`Object`类的一个实例方法。由于Java中所有的类都隐式地继承自`Object`类,所以每个类的实例都可以调用`toString()`方法。默认情况下,`Object`类的`toString()`方法返回一个表示该对象内存地址的字符串,格式为"类名@哈希码"。这个哈希码是由`hashCode()`方法计算得出的,是一个整数的十六进制表示。 例如,对于一个简单的`ToStringTest`类,如果它没有重写`toString()`方法,那么调用`toString()`将会得到类似于`ToStringTest@12345678`的结果,这里的数字`12345678`是该对象在内存中的哈希码的十六进制形式。 然而,很多类,如`String`类,会根据自身的需求重写`toString()`方法。对于`String`类,它的`toString()`方法返回的就是该字符串对象本身,因为字符串本身就是字符序列的表示,所以直接返回`this`就足够了。 在日常开发中,我们经常使用`System.out.println()`来打印对象的信息,实际上这个过程会自动调用对象的`toString()`方法。如果你想要自定义打印的内容,就需要在自己的类中重写`toString()`方法。在上述的`ToStringTest`类中,我们创建了一个名为`name`的属性,并在`toString()`方法中返回`name`的值,这样当我们打印`ToStringTest`类的实例时,就会显示`name`的值,而不是默认的内存地址。 ```java public class ToStringTest { private String name; public ToStringTest(String name) { this.name = name; } @Override public String toString() { return this.name; } public static void main(String[] args) { ToStringTest tst = new ToStringTest("孙悟空"); System.out.println(tst); } } ``` 运行这段代码,控制台将输出"孙悟空",这证明我们成功地重写了`toString()`方法,使得它按照我们的需求返回了`name`的值。这种方法在调试和日志记录时非常有用,因为我们可以清晰地看到对象的特定属性信息,而不是晦涩的内存地址。 `toString()`方法在Java中用于提供对象的可读性描述,是对象向外界展示其状态的一种方式。通过重写这个方法,开发者可以定制对象的输出格式,使得调试、日志记录和信息展示更加直观。对于那些需要呈现特定信息的对象,如数据模型类,重写`toString()`方法尤为常见。