四半期オブジェクトでprintlnメソッドを使用すると、なぜtoStringメソッドの値が返されるのか分かりません。なぜ私は戻り値を取得している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 class Quarter extends Coin {
public Quarter() {
super(25);
}
public int getValue() {
return myValue();
}
public String toString() {
return "A Quarter is "+getValue();
}
}
public class Nickel extends Coin {
public Nickel() {
super(5);
}
public int getValue() {
return myValue();
}
public String toString() {
return "A "+this.getClass().getName()+ " is "+getValue();
}
}
四半期オブジェクトの文字列表現は何ですか?あなたはあなたのオブジェクトを印刷するようjavaに指示することはできません。 – Mead3000