プログラマの日記

Javaプログラマの苦悩の日々

Java初心者のための基本文法(その3)

Java入門クラス・メソッド

こんにちは、今回はクラス・メソッドについて書いていきます。

 

まず、クラスとは簡単に言うと設計図みたいなものです。

よく入門書ではクラスの説明を車を使って行うことが多いので、

今回も車を使って説明したいと思います。

 

class クラス名 {
    フィールド
    メソッド
}

 

上記がクラスの書き方になります。

クラスが設計図なので、クラス名をCarクラスとしましょう。

フィールドとはクラスの状態を表すものです。

メソッドはクラスの振る舞いを表します。

まあ、簡単に言うとフィールドが車の大きさや色などの状態を保持して、

メソッドが走る・止まる・飛ぶ!?等の動きを表します。

 

ということで、これらを踏まえて車クラスを作ってみると、


class Car {

    private String color;
    private int height;
    private int width;

    public Car(String color, int height, int width) {
        this.color = color;
        this.height = height;
        this.width = width;
    }
    
    public void show() {
    	System.out.println(color);
    	System.out.println(height);
    	System.out.println(width);
    	
    }
    
    public void run(int speed) {
    	System.out.println(color + "の車が" + speed + "キロで走っている。");
    }

}

上記のようなクラスを作りました。
フィールドとして color、height、width情報を保持しています。
また、メソッドとしてshow、runメソッドを保持しています。
showメソッドはフィールドの情報を表示、runメソッドは引数の値に文字を連結して表示します。

public、privateというのがフィールドやメソッドの前についていますが、
これはアクセス修飾子といものでアクセス制限ができます。
privateの場合は同じクラス内しかアクセスできず、publicは違うクラスでもアクセス可能です。

それでは、上記のクラスを呼び出すクラスを作成します。

public class Test {
public static void main(String[] args) {
		Car instance = new Car("赤", 100, 200);
		instance.show();
		instance.run(30);
	}
}

Car instance = new Car("赤", 100, 200);の部分でCarクラスをインスタンス化しています。

インスタンス化というのは、設計図から実際に車を作るイメージです。

引数に"赤", 100, 200を渡すとその引数のコンストラクタが呼び出されます。

これで、赤色で、高さが100、幅が200の車が作成されました。

メソッドを呼び出すときは先ほど作成したインスタンスに"."メソッド名で呼び出します。 ちなみに、実行結果は

赤
100
200
赤の車が30キロで走っている。

となります。

 

では、これでJavaの基本文法はひとまず終了です。

 

以上