Javaでabstractmethoderrorが発生する原因

Java で AbstractMethodError が発生する主な原因は次のとおりです。

  1. サブクラスが、親クラスの抽象メソッドを実装していません。抽象クラスを継承したクラスは、親クラスに定義されている抽象メソッドをすべて実装しなければならず、実装しないとabstractmethoderrorが発生します。
  2. 親クラスの抽象メソッドを子クラスが実装するときは、メソッドの修飾子が一致しなければなりません。親クラスの抽象メソッドは通常publicまたはprotectedの権限ですが、子クラスが実装するときは同じ権限の修飾子でなければabstractmethoderrorが発生します。
  3. 抽象メソッドを実装する派生クラスでメソッドのシグニチャが整合していません。親クラスの抽象メソッドのシグニチャはメソッド名、引数の型、戻り値の型を含み、それを派生クラスが実装する際はシグニチャを同じに保たなければならず、そうでないと`abstractmethoderror`が発生します。
  4. Abstractなメソッドを実装したサブクラスが、異なる型の例外を発生させた場合は、abstractmethoderrorが発生します。
  5. 抽象メソッドは親クラスでは実装されておらず、サブクラスで具体的な実装を与える必要があります。実装しない場合、abstractmethoderror が発生します。

abstractmethoderrorは実行時例外であることに注意してください。コンパイル段階ではエラーは発生せず、実行時のみ例外がスローされます。

bannerAds