こんにちは、SCJP 試験でこの質問に直面しました。インターフェイスと抽象クラスの両方が同じメソッドを持つ場合、Java ですべてのメソッドを私のクラスにオーバーライドするのにどちらが適していますか? どのシナリオを採用するのが良いか、さまざまなシナリオで説明してください。
これはインターフェースです:
interface ArithmeticMethods {
public abstract void add();
public abstract void sub();
public abstract void div();
public abstract void mul();
}
これは抽象クラスです:
abstract ArithMethods {
public abstract void add();
public abstract void sub();
public abstract void div();
public abstract void mul();
}
これは私のクラス名です: ArithMethodImplemenation
class.
今、私はどのようなシナリオでこのようにすべきですか
public ArithMethodImplemenation implements ArithmeticMethods{
//override all methods of ArithmeticMethods
}
または、どのシナリオでこのようにすべきか
public ArithMethodImplemenation extends ArithMethods{
//override all methods of ArithMethods
}
さまざまなシナリオで説明してください。そして、私の友人たちも、非常に多くのインタビューでこの質問に直面しました。しかし、彼らは成功できませんでした。