Javaで扱うすべての変数は
必ず何らかの型(type)を持っています。
例えば「整数を格納するためのint型」や
「文字列を格納するためのString型」は
Javaが予め標準で準備しているので、
いつでも使える型です。
インスタンス化とは、
クラスをアクセス可能にして、
クラスを利用できる状態にすることです。
インスタンス化(初期化)しないと、
呼び出し元クラスから
他のクラスを利用できません。
クラスをインスタンス化するには
「new」することで可能です。
Stringは基本型のように使用出来ますが
実質参照型なので、Javaの「API」に
定義されているクラスです。
「new String」は、このStringクラスを
インスタンス化(初期化)することになります。
Javaのプログラムを実行する際に、
JVMが大量にメモリ領域を使って準備するものを
ヒープ(heap)といいます。
newを用いいてインスタンスを生み出すたびに
インスタンスの情報を格納するため
ヒープの一部の領域が確保されます。
要するに確保された
単なるメモリ領域ということです。
インスタンス生成と一緒に
コンストラクタも抑えておいてください。
まずCarクラスを作成し、
“ふるまい”にあたる各メソッドを
下記のように作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
public class Car { // 車種名 String carName; // 燃料 int fuel; // 給油 void oiling() { this.fuel = 80; System.out.println(this.carName + "は、ガソリンスタンドで給油した"); } // 走行距離 void distance(int km) { // 1kmで消費する燃料 int num = km / 10; // 給油した燃料から消費した燃料を算出 this.fuel -= num; System.out.println(km + "km走って" + num + "Lのガソリンを消費した"); System.out.println("残りの燃料は" + this.fuel + "Lです。"); } } |
「main」メソッドがある
「Main」クラスを実行します。
そしてメインメソッドで実装すると
下記のソースで実行可能になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
public class Main { public static void main(String[] args) { // インスタンス生成 Car c = new Car(); // フィールドに初期値を設定 c.carName = "スポーツカー"; //給油メソッドの呼び出し c.oiling(); //走行距離メソッドの呼び出し c.distance(100); } } |
1 2 3 |
スポーツカーは、ガソリンスタンドで給油した。 100km走って10Lのガソリンを消費しました。 残りの燃料は70Lです。 |
- インスタンスの生成にはnewを使用
- フィールドを利用する場合は、「変数名.フィールド名」と記述。
- メソッドを呼び出す場合は、「変数名.メソッド名()」と記述
この記事へのコメントはありません。