📜  在Java中重写 toString() 方法(1)

📅  最后修改于: 2023-12-03 15:23:24.770000             🧑  作者: Mango

在Java中重写 toString() 方法

在Java中,toString()方法是一个Object类中的方法。它返回表示对象的字符串,通常是对象的类名和哈希码。如果要按照自己的方式表示对象,可以通过重写toString()方法来实现。

为什么重写 toString() 方法

默认的toString()方法返回一个包含类名和哈希码的字符串,通常很难理解。使用自定义toString()方法可以将对象的信息转换为更易于阅读和理解的字符串,这对于调试代码和打印日志非常有用。

比如,在自定义的类中,如果需要打印类的信息,可以通过重写toString()方法来实现,这样可以在打印时直接调用toString()方法,而不需要逐个输出对象的属性。

如何重写 toString() 方法

重写toString()方法非常简单。只需要将方法定义为公共访问以及在改方法返回字符串,其中包含对象的信息即可。

public String toString() {
    return "ClassName [field1=" + field1 + ", field2=" + field2 + "]";
}

在上面的代码中,ClassName表示类名,field1field2是类的属性。您可以将这些名称替换为您的类名和属性名称。

以下是一个更完整的示例,在该示例中,我们模拟了一个用户类:

public class User {
    private String name;
    private int age;
    private String address;

    public User(String name, int age, String address) {
        this.name = name;
        this.age = age;
        this.address = address;
    }

    @Override
    public String toString() {
        return "User [name=" + name + ", age=" + age + ", address=" + address + "]";
    }
}

在上面的代码中,我们定义了一个名为User的类,该类有三个属性:nameageaddress。我们重写toString()方法,将用户信息转换为字符串。

现在,我们可以创建一个用户对象,并打印该对象的信息:

User user = new User("John", 30, "New York");
System.out.println(user.toString());

输出结果为:

User [name=John, age=30, address=New York]

如您所见,在输出时调用了toString()方法,并返回定义的数据格式。

总结

在Java中,toString()方法是一个Object类中的方法,它返回表示对象的字符串。重写toString()方法非常简单,只需要将方法定义为公共访问以及在该方法返回字符串,其中包含对象的信息即可。使用自定义toString()方法可以将对象的信息转换为更易于阅读和理解的字符串,这对于调试代码和打印日志非常有用。