Javaメソッドの宣言が無効になる原因
Javaでメソッド宣言が無効になる理由として挙げられるもの:
- メソッド名は不正: メソッド名はアルファベットで始まり、アルファベット、数字、アンダースコアのみを含める必要があります。さらに、メソッド名はJavaのキーワードと同じにすることはできません。
- メソッドの引数リストが不正です。メソッドの引数リストは丸括弧でくくり、引数がない場合は空の括弧にするか、括弧を省略できます。各引数は引数の型と引数の名前から構成され、複数の引数はコンマで区切ります。引数の型は有効なJavaの型にする必要があり、引数の名前は有効な識別子にする必要があります。
- メソッドの戻り値の型が有効ではありません。メソッドの戻り値の型は、そのメソッドを実行した後に返されるデータの型を指定します。メソッドから値が返されない場合は、voidというキーワードを使って示すことができます。メソッドに返り値がある場合は、戻り値の型は有効なJavaの型である必要があります。
- メソッド修飾子は許されません。メソッド修飾子はメソッドの可視性とその他の特性を指定します。一般的な修飾子には、public、private、protected、static などがあります。メソッド修飾子は戻り型の前に置く必要があり、修飾子は 1 つだけにする必要があります。
- メソッド本体が欠落しているか構文エラーがあります: メソッド本体はメソッドの具体的な実装であり、中括弧で囲まれている必要があります。メソッド本体のステートメントはJava構文規則に従って記述する必要があります。これには、正しいステートメントの終了記号と正しいコードのインデントが含まれます。
- メソッドのオーバーロードの衝突:オーバーロードとは、同じクラス内に、名前は同じだが引数のリストの異なるメソッドを複数定義することです。オーバーロードに衝突が発生すると、つまり同じ引数のリストを持つメソッドが複数あると、コンパイラーはどのメソッドを呼び出すべきかが判断できず、メソッドの宣言が無効になります。
無効なメソッド宣言を引き起こす一般的な理由は上で紹介したとおりだが、他にもメソッドの重複定義やメソッドのオーバーライドの誤りなどさまざまな理由が考えられる。Javaのコードを書く際は、これらの問題を確認・修正してメソッド宣言が有効であることを確認するよう注意しなければならない。