Java の toString メソッドをどのようにオーバーライドして呼び出すか
Javaでは、オーバーライドしたtoStringメソッドは、対象のオブジェクトに直接呼び出すだけで呼び出せます。例:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
public class Main {
public static void main(String[] args) {
Person person = new Person("John", 25);
System.out.println(person.toString()); // 调用重写的toString方法
System.out.println(person); // 也可以直接调用,效果与上一行代码相同
}
}
PersonクラスではtoStringメソッドをオーバーライドしており、toString()メソッドの直接呼び出しやオブジェクトの直接プリントアウトどちらもオーバーライドされたtoStringメソッドが呼び出され、オブジェクトの文字列表現が出力されます。