package test;
public class Person {
int name;
int age;
Person(int n, int i) {
name = n;
age = i;
}
public static void main(String[] args) {
Person tom = new Person(1, 25);
Person john = new Person(2, 27);
System.out.println(tom);
System.out.println(john);
}
}
輸出值test.Person@15db9742
test.Person@6d06d69c
不應該是1,25.
2,27嗎
println會去調用String.valueOf(Person),
String.valueOf的源碼
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
Person的toString是Object中的toString
源碼如下
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
所以最終是test.Person@15db9742
想要你自己的結果,Person中重載toString方法,按照你想要的格式return輸出就行了。