last-modified: Dec/12th/2003
Java では変数、クラス、メソッドを始めとして、多くのものに識別するための名前をつける必要がある。この名前の事を識別子と呼ぶ。
識別子はほとんど自由に決められるが、次の点に注意する必要がある。
$
, _
の何れかとする。false
, true
(boolean literal) は不可。null
(null literal) は不可。キーワードには次の 49 個が定義されている。
abstract default if private this boolean do implements protected throw break double import public throws byte else instanceof return transient case extends int short try catch final interface static void char finally long strictfp volatile class float native super while const for new switch continue goto package synchronized assert
これに false
, true
, null
の三つを加えると52個になる。
J2SDK 1.4 ではアサーションと呼ばれる構造を記述するために、assert
というキーワードが新しく追加された。デフォルトでは、assert
はキーワードとは解されずに、変数名やメソッド名に使える。しかし、コンパイル時、実行時にフラグを指定することで、キーワードとして復活するので、assert
は変数やメソッドの識別子に使わないようにする必要がある。
assert をキーワードとして使うコンパイル >javac -soruce 1.4 AssertDemo.java
assert を有効にして実行する >java -ea AssertDemo 又は、 >java -enableassertions AssertDemo
記号が許される文字であるかどうかを調べるためには、次のアプリケーションが true を返す事を条件とする。
class JavaCharacter {
public static void main(String[] args) {
boolean bln = Character.isJavaIdentifierStart('?');
System.out.println(bln);
}
}
Java の識別子に含まれる文字として「?」が適切であれば true が出力されます。
C:\Java>javac JavaCharacter.java C:\Java>java JavaCharacter false C:\Java>
「?」は識別子に含まれる文字として不適切なので false が出力されました。
規則のほかに、ソースコードを記述するときの慣習(コンベンション)があります。これに従うことで、他の人が書いたソースコードが読みやすくなり、複数人が携わる開発の効率が飛躍的に高まります。個人の開発でも、過去に自分の書いたソースコードが読みやすことは、デバッグ効率などの問題から良い事です。
get()
Getter
, Manager
, id
getCust()
, PersistenceManager
, custId
CUST_ID
Convention には他にも多くの取り決めがあります。社内基準などのローカルなもののほか、 Sun Microsystems の公開している文書も参照すると良いでしょう。