System

 Systemクラスは Objectクラスの直接のサブ・クラスです。 java.langパッケージに含まれます。 Systemはその名のとおりシステムとのインターフェイスを提供します。 System クラスのオブジェクトが生成されることはありません。 System クラスの変数及びメソッドは全て static です。

Systemクラスの変数

 Systemクラスには、標準入出力に対応する3つの public変数が用意されています。

 in, out, err はそれぞれ、標準入力、標準出力、標準エラー出力を表します。 (inputStream および PrintStreamクラスの説明は、第8章を参照。) たとえば、標準出力にメッセージを表示するのなら次のようになります。

      System.out.println("Welcome to Wakkanai!");

Systemクラスのメソッド

 Systemクラスには、 引数の区別もすると全部で十数個のメソッドが定義されています。 メソッドの目的ごとに以下の項目のようにグループ分けして解説します。

  1. システムから情報を取得するメソッド
  2. バーチャル・マシンの環境に関するメソッド
  3. バーチャル・マシンの動作に関するメソッド
  4. その他のメソッド

システムから情報を取得するメソッド

 currentTimeMillis()メソッドは、1970年 1月 1日の 0:00 から現在までの 時刻をミリ秒単位で返します。 getenv()メソッドは、指定された環境変数の値を調べて返します。

バーチャル・マシンの環境に関するメソッド

 getSecurityManager()メソッドは、 現在使用されているセキュリティ・マネジャを返します。 setSecurityManager()メソッドはセキュリティ・マネジャを設定します。 getProperties() および setProperties()は、プロパティのセットの 取得・設定を行います。 getProperty()はキーに対応するプロパティの情報を返します。 (第2引数はプロパティが登録されていない場合のデフォルト値になります。)

バーチャル・マシンの動作に関するメソッド

 load()および loadLibrary()は、指定されたバイト・コードのモジュールを 動的にロードします。 gc()メソッドはガーベッジ・コレクタを明示的に呼び出します。 runFinalization()メソッドは、不要になったオブジェクトの後始末の処理を 明示的に呼び出します。 exit()メソッドはバーチャル・マシンを終了させます。

その他のメソッド

 arraycopy()メソッドは配列の内容を他の配列にコピーします。 第1引数がコピー元、第3引数がコピー先の配列です。 第2引数は、コピー元の配列の中でコピーの対象となる先頭のインデックスです。 第4引数は、コピー先の配列の中でコピーの対象となる先頭のインデックスです。 第5引数は、コピーされる要素の数です。