問題
次のメソッド定義のうち正しくないものはどれですか(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 認定資格