如果你执行:
System.out.println(someObj.toString());
Run Code Online (Sandbox Code Playgroud)
你可能看到输出像
someObjectClassname @ hashcodenumber
我的问题:有什么特定的原因可以显示hashCode编号吗?
我似乎无法理解为什么当我在quarter对象上使用println方法时,它返回toString方法的值.我从来没有调用过toString方法为什么我得到返回值?
public class Main {
public static void main(String[] args) {
Quarter q = new Quarter();
Nickel n = new Nickel();
System.out.println(q);
System.out.println(n);
}
}
public abstract class Money {
private int value;
public Money(int v) {
value=v;
}
public abstract int getValue();
protected int myValue() {
return value;
}
public abstract String toString();
}
public abstract class Coin extends Money {
public Coin(int value) {
super(value);
System.out.println("I am a coin, my value is " + getValue());
}
}
public …Run Code Online (Sandbox Code Playgroud)