メソッド本体の欠落を解決するか、Java で抽象を宣言する

Mehvish Ashiq 2023年10月12日
メソッド本体の欠落を解決するか、Java で抽象を宣言する

このチュートリアルでは、コンパイル時エラー、メソッド本体が見つからないか、abstract を宣言するについて説明します。 ここでは、3つの異なる手順を実行します。

まず、Java プログラムを理解し、エラーについて学習します。 次に、このエラーの考えられる原因を強調し、最終的にこのコンパイル時エラーを根絶するための解決策を見つけます。

欠落しているメソッド本体を解決するか、Java で抽象エラーを宣言する

最初のステップから始めて、このエラーの原因となっているプログラムを理解しましょう。

コード例 (Main.java クラス):

class Main {
  public static void main(String[] param) {
    HiWorld();
    System.exit(0);
  }

  public static void HiWorld();
  { System.out.println("Hi World"); }
}

ここには、main() メソッドを含む Main.java クラスがあります。 main() メソッド内で、メソッド HiWorld() を呼び出して、プログラムを終了します。

次に、HiWorld メソッドには単純な println ステートメントがあります。

すべて問題ないように見えますが、これが missing method body, or declare abstract というエラーを引き起こしています。 なぜ? これは、関数本体を書き損ねているか、この関数を abstract として宣言したいのに、関数を定義するときに abstract キーワードを書き忘れているとコンパイラが判断したためです。

ここでは、このエラーの原因として考えられる理由を知るための 2 番目のステップにいます。 考えられるすべての理由を以下に示します。

  1. まず、コードを再確認します。 セミコロン (;) を関数定義の末尾または他の場所にあってはならない場所に置いた可能性があります。 もしそうなら、それを取り除きます。
  2. abstract メソッドを書くつもりだった場合、abstract キーワードを書き忘れる可能性があります。
  3. main() メソッドの後の { を忘れた場合、このエラーが発生することがあります。
  4. プログラムに setter がある場合は、setter が値を返さないことを確認してください。これは、通常、return 型がないためです。

この例では、HiWorld() メソッドの定義の最後にセミコロン (;) を書きました。 したがって、それを削除すると、このエラーの解決策である最終ステップにつながります。

コード例 (Main.java):

class Main {
  public static void main(String[] param) {
    HiWorld();
    System.exit(0);
  }

  public static void HiWorld() {
    System.out.println("Hi World");
  }
}

出力:

Hi World
著者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

関連記事 - Java Error