抽象メソッドの性質は本体を持たないため、具象クラスが抽象クラスを拡張する場合、その抽象メソッドを実装する必要があります。
だから私の質問は、抽象メソッドが本体を持たないときにどのようにオーバーライドできるのですか? オーバーライドではなく、実装されていませんか?
抽象メソッドの性質は本体を持たないため、具象クラスが抽象クラスを拡張する場合、その抽象メソッドを実装する必要があります。
だから私の質問は、抽象メソッドが本体を持たないときにどのようにオーバーライドできるのですか? オーバーライドではなく、実装されていませんか?
public abstract class BaseClass {
public abstract void doSomething();
}
public class ConcreteClass extends BaseClass {
@Override
public void doSomething() {
System.out.println("Hi!");
}
}
public class AnotherConcreteClass extends BaseClass {
@Override
public void doSomething() {
System.out.println("Hello!");
}
}
実行されるメソッドの実装は、doSomething
呼び出しているオブジェクトのランタイム タイプによって異なりますdoSomething
。