-3
我剛開始使用Java,遇到了這個問題。我不確定我的輸出是否正確。我還希望在這種情況下使用'getClass()'方法的更多細節,因爲'Orc'和'Unicorn'不會從同一個類繼承。我想檢查我的輸出是否正確。而且,這個'getClass()'方法的更多細節
abstract class Creature {
public abstract void makeNoise();
}
class Monster extends Creature {
public void makeNoise()
{
System.out.println("Raaa!");
}
}
class Orc extends Monster { }
abstract class Myth extends Creature { }
class Unicorn extends Myth {
public void makeNoise()
{
System.out.println("Neigh!");
}
}
Unicorn x = new Unicorn();
if (x instanceof Myth) {
System.out.println("myth");
}
else {
System.out.println("not myth");
}
x.makeNoise();
Orc y = new Orc();
if (x.getClass() == y.getClass()) { //I need more explanation on this 'getClass()' method
System.out.println("yes");
}
else {
System.out.println("no");
}
y.makeNoise();
我的輸出是:
- 神話
- 嘶!
- 否
- Raaa!
它正確嗎?
最後一個問題:
- 是子類的對象的父類的實例?