目次 | |

Java言語規定

Java Language Specification



0. 導入

0.1 適用範囲

この標準報告書(TR)は, Java言語を規定する。Java言語の利用環境に必要なクラス ライブラリ, 仮想計算機, アプリケーションプログラミングインタフェース(API)な どについては, 別途規定する。

0.2 引用規格

次に示す規格は, この標準報告書(TR)の文中での引用によって, この標準報告書(TR) の規定の一部となる。これらの引用規格は, それらの最新版を適用する。

0.3 定義

この標準報告書(TR)で用いる主な用語の定義は, 次による。

備考 ここでは,簡単のため Java言語を Javaと呼ぶ。

抽象クラス(abstract class)
一つ以上の抽象メソッドを含むクラスであり,従って決してインスタンス化さ れ得ない。抽象クラスは,次のとおりに規定される。つまり,他のクラスが抽象ク ラスを拡張でき,抽象メソッドを実装することによって抽象クラスを具体化できる。
抽象メソッド(abstract method)
実装をもたないメソッド。
実パラメタ並び(actual parameter list)
特定メソッドの呼出しにおいて指定される実引数。形式的パラメタ並びをも参 照のこと。
API(API)
アプリケーションプログラミングインタフェース。アプリケーションを書くプ ログラマが,どのようにしてオブジェクトの機能にアクセスするのかの指定。イン タフェースは,Java及びC++言語でクラスを用いて指定できる。Javaは,クラスより 柔軟なインタフェースを可能にする特別なインタフェース構文ももっている。
アプレット(applet)
Javaで書かれ,HotJavaにおいて動作するプログラム。
実引数(argument)
メソッド呼出しにおいて指定するデータ項目。実引数は,リテラル値,変数又 は式であり得る。
配列(array)
同一の型をもつデータ項目の集まり。配列の中では,各項目の位置は,整数に よって一意に指示される。
アトム的(atomic)
どのような環境においても, 決して割込みを受けず,不完全な状態に留まる ことのないオペレーションを示す。
2項演算子(binary operator)
二つの実引数をもつ演算子。
ビット単位の演算子 (bitwise operator)
ビット指向のデータを扱う演算子。
ブロック(block)
照合括弧 ({ と })との間のプログラムコード。
論理的,論理... 又は 論理の (boolean)
真又は偽の値だけをとり得る式又は変数を示す。Javaは,論理型(boolean type)を提供し,真及び偽のリテラル値を提供する。
境界区画(bounding box)
ラスタオブジェクトに関して,完全には透明でないすべての画素を完全に囲む 最小のく(矩)形。
バイトコード(bytecode)
Javaコンパイラによって生成され,Javaインタプリタによって実行される機器 非依存コード。
キャスティング(casting)
あるデータ型から他のデータ型への明示的変換。
クラス(class)
特定種類のオブジェクトの実装を定義する型。クラス定義は,インスタンス, クラス及びメソッドを定義する。スーパクラスが明示的に指定されないとき,スー パクラスは暗黙的にオブジェクトとなる。
クラスメソッド(class method)
特定クラスの名前を用いて呼び出され得るすべてのメソッド。クラスメソッド は,全体としてクラスに作用するが,クラスの特定インスタンスには影響を与えな い。クラスメソッドは,クラス定義の中で定義され,静的メソッドとも呼ばれる。
クラス変数(class variable)
全体として特定クラスに関連するが,そのクラスの特定インスタンスには関連 しないデータ項目。クラス変数は,クラス定義の中で定義され,静的フィールドと も呼ばれる。
注釈(comment)
プログラム中の説明的テキストであって,コンパイラによって無視される。
コンパイル単位(compilation unit)
コンパイルできるJavaコードの最小単位。現在のJava実装においては,コンパ イル単位をファイルとしている。
コンパイラ(compiler)
ソースコードをコンピュータによって実行できるコードに変換するプログラム。 Javaコンパイラは,JavaソースコードをJavaバイトコードに変換する。
コンストラクタ(constructor)
オブジェクトを生成する疑似メソッド。Javaにおいては,コンストラクタは, そのクラスと同一の名前をもつインスタンスメソッドとする。Javaコンストラクタ は,newキーワードによって呼び出される。
宣言(declaration)
必ずしもデータ用の記憶域を確保したり, メソッド用の実装を用意することな く, 識別子及び関連属性を設定する文。
派生した(derived from)
クラスXがクラスYを拡張しているとき, クラスXをクラスYから派生したと定義 する。
分散した(distributed)
複数のアドレス空間において動作している。
例外(exception)
プログラムをエラー継続から防ぐ, プログラム実行中の事象。Javaは, try, catch及びthrowキーワードを伴う例外をサポートする。
例外ハンドラ(exception handler)
特定型の例外に反応するプログラムブロック。プログラムが回復できるエラー に関する例外については, 例外ハンドラの実行後に, プログラムが再開できる。
実行可能コンテント(executable content)
HTMLファイルと共に, 動作するアプリケーション。
拡張する(extends)
フィールド又はメソッドを追加するか, スーパクラスからメソッドを上書きす るかのどちらかによって, クラスは, 拡張して機能追加を行う。インタフェースは, 拡張してメソッド追加を行う。
フィールド(field)
クラスのデータメンバ。特記のない場合, フィールドは静的とする。
形式的パラメタ並び(formal parameter list)
特定メソッドの定義が規定するパラメタ。
ガーベジコレクション(garbage collection)
もはや使用しない記憶を自動的に検出して解放すること。Java実行時システム は, ガーベジコレクションを実行するので, プログラマがオブジェクトを明示的に 解放することは決してない。
階層(hierarchy)
ルートという原点の位置を占めるアイテムを除く各アイテムが, 既存のアイテ ムに基づいて構成する特定のフォームにおける関係の分類。階層においては, 各ア イテムは, その元に1個以上のアイテムをもつ。Javaクラス階層では, ルートはオブ ジェクトクラスとする。
HTML(HTML)
ハイパテキストマーク付け言語。インタネット上のハイパテキスト文書のため の, SGML(標準一般化マーク付け言語)に基づくファイル様式。画像, 音声, ビデオ ストリーム, フォームフィールド, 及び簡素なフォーマティングを組込むことがで きる。他のオブジェクトへの参照は, URLを用いて組込む。
識別子(identifier)
Javaプログラムにおける変数アイテムの名前。
インヘリタンス(inheritance)
上位の型において定義される変数及びメソッドを自動的に含むクラスの概念。
インスタンス(instance)
特定クラスのオブジェクト。Javaプログラムでは, クラスのインスタンスは, クラス名を後置したnew演算子を用いて生成される。
インタフェース(interface)
幾つかのクラスによって実装できるメソッドのグループ。
インタプリタ(interpreter)
すべての文を復号して実行するモジュール。Javaインタプリタは, Javaバイト コードを復号して実行する。
リンカ(linker)
要素マシンコードモジュールから実行可能な完全プログラムを生成するモジ ュール。Javaリンカは, コンパイル済みクラスから, 実行可能プログラムを生成す る。
リテラル(literal)
すべての整数, 浮動小数点又は文字の値の基本表現。例えば, 3.0は単精度浮動 小数点リテラルであり, a'は文字リテラルである。
局所変数(local variable)
ブロック内で知られたデータアイテム。ブロック外のコードからはアクセスで きない。
メンバ(member)
クラスのフィールド又はメソッド。特記のない場合, メンバは静的とする。
メソッド(method)
クラスにおいて定義される機能。
オーバロード(overloading)
同一有効範囲における多重アイテムを参照するために, 一つの識別子を用いる こと。Javaでは, メソッドをオーバロードできるが, 変数又は演算子をオーバロー ドすることはできない。
上書き(overriding)
始めにメソッドを定義したクラスのサブクラスにおいてメソッドの別の実装を 与えること。
パッケージ(package)
型のグループ。パッケージは, packageキーワードを用いて宣言される。
プロセス(process)
1個以上のスレッドを含む仮想番地空間。
参照(reference)
値が番地であるデータ要素。
実行時システム(runtime system)
Java仮想計算機用にコンパイルされたプログラムが動作できるソフトウェア環 境。
有効範囲(scope)
どこで識別子が利用可能かを決定する識別子の特性。Javaにおけるほとんどの 識別子は, クラス有効範囲又は局所有効範囲のどちらかをもつ。
静的フィールド(static field)
クラス変数の別名。
静的メソッド(static method)
クラスメソッドの別名。
サブクラス(subclass)
特定のクラスから, 中間に複数のクラスを伴って派生されたクラス。
スーパクラス(superclass)
特定のクラスを, 中間に複数のクラスを伴って派生するクラス。
上位の型(supertype)
その型によって拡張されたり実装されるすべてのインタフェース及びクラス。
スレッド(thread)
プログラム実行の基本単位。一つのプロセスは, 並行動作して異なったジョブ を実行する幾つかのスレッドをもつことができる。スレッドがそのジョブを終了す ると, そのスレッドは, 一時停止又は終了となる。
変数(variable)
識別子によって命名されたデータのアイテム。すべての変数は, 型及び有効範 囲をもつ。
仮想計算機(virtual machine)
ソフトウェア又はハードウェアにおいて, いろいろな方法で実装できる計算装 置に関する抽象規定。Java仮想計算機は, バイトコード命令セット, レジスタ集合, スタック, ガーベジコレクション, ヒープ及びメソッド記憶領域から構成される。

目次 | |