1.对于String类,自动调用toString()方法;
定义toString()方法后:
public class ToStringDemo{
public static void main(String[] args){
String str = new String("Hello Java");
System.out.println(str); //输出
// System.out.println(str.toString());
}
}
2.对于非String类,如果没有定义toString()方法,会自动调用toString()方法,但是输出对象时会输出对象的哈希码值;
class Person{
}
public class ToStringDemo1{
public static void main(String[] args){
Person one = new Person();
System.out.println(one.toString()); //输出:Person@1c5f743
}
}
定义toString()方法后:
class Person{
String name;
int age;
public String toString(){
return "姓名:"+name+"年龄:"+age;
}
}
public class ToStringDemo2{
public static void main(String[] args){
Person one = new Person();
one.name = "李刚";
one.age = "21";
System.out.println(one.toString());
//System.out.println(one);
}
}