
問題
次のメソッド定義のうち正しくないものはどれですか(3つ選択)
A)
public void null() {}
B)
public void 0_method() {}
C)
public void _null() {}
D)
public void $method() {}
E)
public void method3() {}
F)
public void method() {}
G)
public void method@2() {}
解答
A)
public void null() {}
B)
public void 0_method() {}
C)
public void _null() {}
D)
public void $method() {}
E)
public void method3() {}
F)
public void method() {}
G)
public void method@2() {}
解説
正しくないメソッド定義は次の3つです。
A)public void null() {}
- 理由:
nullはJavaのキーワードであり、メソッド名として使用できません。
B)public void 0_method() {}
- 理由: メソッド名は数字で始まることができません。識別子は英字、アンダースコア(
_)、ドル記号($)で始まる必要があります。
G)public void method@2() {}
- 理由: メソッド名に
@のような特殊記号は使用できません。使用可能な記号はアンダースコア(_)とドル記号($)のみです。
正しいメソッド定義
C)public void _null() {}
- 理由: アンダースコア(
_)で始まる識別子は有効です。また、nullはキーワードですが、接頭辞として使用しているため問題ありません。
D)public void $method() {}
- 理由:
$はJavaの有効な識別子の一部として使用可能です。
E)public void method3() {}
- 理由: メソッド名に数字を含むことは問題ありませんが、数字で始めることはできません。
F)public void method() {}
- 理由: 通常のメソッド名として問題ありません。
メソッド名に関するポイント
- 識別子(メソッド名や変数名)は英字、アンダースコア(
_)、ドル記号($)で始まる必要があります。 - Javaのキーワード(例:
null,class,intなど)はメソッド名として使用できません。
対象資格:Java SE17 認定資格
