1学期第8週

テーマ:Javaプログラムの構造


(96.10.16更新)

今週は、Javaプログラムの基礎的な構造を理解しましょう。

* 議論のまとめは、こちらをご覧ください。

Javaプログラムの構造

一般に、Javaプログラムは以下のような構造で記述する。


パッケージ記述

Java言語には、パッケージと呼ぶクラス・ライブラリが標準で提供されている。それぞれのパッケージには、次のようなクラスが定義されている。

上記のように標準で与えられたパッケージ以外に、ユーザが開発することもできる。

パッケージの記述をしないときは、コンパイル結果が無名のデフォルト・パッケージに置かれる。

習慣的に、パッケージ名はコンマによって区切られた単語で記述し、最初の名前はパッケージを開発した組織を入れる。

package パッケージ名;

パッケージを記述すると、多くの関連するクラスやインターフェースを集めてコンパイルでき、パッケージ内のプログラムでは含まれるすべてのクラスを利用することができる。

もし、別のパッケージのクラスなどを利用するときは、次のいずれかの方法を用いる。


インポート記述

Inport文を書くことによって、別のパッケージに含まれるクラスや、インターフェース、パッケージを指定することができる。

import クラス名;

または

import インターフェース名;

または

import パッケージ名;

アプレットのプログラムでは、ほとんどの場合awt(Abstract Window Toolkit)パッケージを使用するので、java.awt.*をimport宣言しておく。


クラス記述

Java言語のクラスは、変数の定義とメソッドの定義で記述する。

class クラス名{

    変数宣言

    メソッド宣言

    }

ここで定義したクラスの変数やメソッドを公開したり、非公開にすることができる。

アクセス指定

クラスの継承定義

Java言語では、上位クラスをスーパークラス、下位クラスをサブクラスといい、1つのスーパークラスからの継承だけが許される。(単一継承)

スーパークラスを記述しないときは、Objectクラスがスーパークラスとなる。

class クラス名

    extends スーパークラス名{

      インスタンス変数宣言

      メソッド宣言

    }

メソッド定義

メソッドは、オブジェクトの初期化のための構築子newとそれ以外のものがある。

new以外のメソッドには、戻り値のデータ型を記述し、戻り値のないときはvoidと記述する。

メソッドには1つ以上の引数を受け渡すことができ、コンマで区切って記述する。引数のないときは、何も書かない。

戻り値の型 メソッド名(型1 引数1,型2 引数2){

    メソッドa

    メソッドb

}

メソッドの中で変数を宣言することもでき、これをローカル変数という。ただし、引数と同じ変数名を使うことはできない。

(クラスの中でメソッドの記述の前にインスタンス変数を定義することができる。)

メソッドはいくつでも利用することができ、必要なだけ並列に記述する。

Java言語では、実行するときのスタートとなるプログラムはmainメソッドでなくてはならない。これは、以下のように記述する。

class クラス名{

    public static void main(String a[])

    {

    メソッド

    }

}

mainメソッドの引数String a[]には、このプログラムを起動するときの引数が入る。

{と、}に囲まれた部分はブロックという。

外側のブロックはクラスのブロックで、内側のブロックはメソッドのブロックである。


インターフェース記述

Java言語では多重継承ができないので、インターフェースを利用して代行する。

インターフェースは、本体に組み込まずにメソッドだけを宣言する。

interface インターフェース名{

    戻り値のデータ型 メソッド名(引数リスト);

    }

クラスは1つ以上のインターフェースを組み込むことができ、次のようにインターフェースとそのインターフェースを組み込むクラスを宣言する。

class クラス名

    extends スーパークラス名

    inplemnts インターフェース名{

      ....

      インターフェースメソッドの定義

      ....

    }


コメントの記述

コメントには、次の2種類の書き方がある。

行末コメント //コメント
行間コメント /*コメント*/


識別子

Java言語で使う変数などの名称は、次のような規則で書かなければならない。


めだかの学校 教室
教員に対するご意見はこちらへ:(Mail to : cbu-staff@ML.psn.or.jp
用務員:臼井義美 (Mail to : yosimi-u@is.aist-nara.ac.jp