命名規則とキーワード

last-modified: Dec/12th/2003

Naming Rules

Java では変数、クラス、メソッドを始めとして、多くのものに識別するための名前をつける必要がある。この名前の事を識別子と呼ぶ。

識別子はほとんど自由に決められるが、次の点に注意する必要がある。

  1. 大文字と小文字を区別する。
  2. 1文字目は英字、$, _ の何れかとする。
  3. キーワードと重複しないようにする。
  4. false, true (boolean literal) は不可。
  5. null (null literal) は不可。
  6. 記号は、演算子/特殊文字は不可。
  7. 文字数は任意。
  8. 言語は任意。

キーワード

キーワードには次の 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 が出力されました。

Naming Convention

規則のほかに、ソースコードを記述するときの慣習(コンベンション)があります。これに従うことで、他の人が書いたソースコードが読みやすくなり、複数人が携わる開発の効率が飛躍的に高まります。個人の開発でも、過去に自分の書いたソースコードが読みやすことは、デバッグ効率などの問題から良い事です。

Convention には他にも多くの取り決めがあります。社内基準などのローカルなもののほか、 Sun Microsystems の公開している文書も参照すると良いでしょう。



Copyright © 2001-2003 SUGAI, Manabu. All Rights Reserved.