クラスの構造や、Eclipseでのクラスの作り方を紹介します。
まずは以前に説明した方法でプロジェクトを作ります(ここでは、「Sample」プロジェクトを作ります)。以下、準備です。
次に、以下の手順でクラスを作ります。
以前作ったCuiクラスとの違いは、[public static void main(String[] args)]にチェックを入れているかどうかです。ここでは、mainを使わないクラスを作成するので、チェックを入れません。
作った直後のクラス(拡張子.javaのファイル)は以下のようになっています。
package sample;
public class MyClass {
}
作成したMyClassクラスに、パブリックのフィールドとメソッド、プライベートのフィールドとメソッドを追加します。
package sample;
public class MyClass {
// 公開フィールド(識別用名前)
public String label = "名前";
// 非公開フィールド(現在の値)
private int inNo = 0;
// 公開メソッド(数値を増加/減少/取得)
public void plus(int no) {
change(no);
}
public void minus(int no) {
change(- no);
}
public int get() {
return inNo;
}
// 非公開メソッド(数値を変更)
private void change(int no) {
inNo += no;
}
}
このクラスの構造を図にすると、以下のようになります。
┏ MyClass━━━━━━━━━━┓ ┃ ┃ ┃private ┃public ┠─●フィールド ┠─○フィールド ┃ inNo(現在の値) ┃ label(識別用名前) ┃ ┃ ┠─●メソッド ┠─○メソッド ┃ change()(数値を変更) ┃ plus()(数値を増加) ┃ ┃ minus()(数値を減少) ┃ ┃ get()(数値を取得) ┗━━━━━━━━━━━━━━┛
publicと付いている場所は、外部から利用できる場所です。privateと付いている場所は、外部から利用できない場所です。それぞれフィールドとメソッドがあるのが分かります。
基本的なJavaのクラスは、以下のような構造をしています。
┏ MyClass━━━━┓ ┃ ┃ ┃private ┃public ┠─●フィールド ┠─○フィールド ┃ ┃ ┠─●メソッド ┠─○メソッド ┃ ┃ ┗━━━━━━━━┛
実際にはもう少し複雑なのですが、この段階では、ここまで覚えてください。