インスタンスを生成して動かす~初心者向けJava解説~_オブジェクト指向

インスタンスを動かす方法
オブジェクト指向では、
1.メインメソッドでインスタンスを生成する。
2.生成されたインスタンスに対してメソッドを呼び出し、動かす。
ざっくりいうとこの繰り返しによって、システムが動いていきます。
これを字面で見てもどういうこっちゃねんとなりますよね。例によってコードを見ながら解説していきますのでお付き合いください。
1.メインメソッドでインスタンスを生成する
|
1 2 3 4 |
Dog d1 = new Dog(4, "ポチ"); |
これがDogクラスで定義したインスタンスを生成するコードになります。詳しく見ていきましょう。
クラスについてまだわかっていない方は
クラスとは?オブジェクト指向におけるクラスについてイメージ解説
をご参照ください。
ブロックごとに分解し、何が書かれているのか解説していきます。

引数について、意味が分からない方は佐々木真大先生が非常に分かりやすく解説してくださっている以下の記事をお読みください。
Dog型の変数"d1"に、新しく生成した4歳のポチという名前の犬インスタンスを代入している状態になります。
おっと、メインクラスに上記を記述しても、エラーで怒られてしまいます。
何故か?
犬クラスが存在していないのに犬インスタンスはできないからです。
Dogクラスを作成してコンストラクタを定義しましょう。
以下はDogクラスの定義になります。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class Dog { int age; String name; public Dog(int age, String name) { this.age = age; this.name = name; } public void Run() { System.out.println( this.name + "が走り出した!"); } } |
ここに書いているコードの構成が分からないという方は先ほどもご紹介しました以下の記事で、プログラムの構成を確認してください。
最初はコピペで構いません。上記をコピーしDogクラスに張り付けてみましょう。
Mainクラスのインスタンス生成のコードがエラーではなくなっているはずです。それでは、実際に作ったインスタンスに対して、メソッドを呼び出し動かしてみましょう!
2.生成されたインスタンスに対してメソッドを呼び出し、動かす

今時点で、生成されたインスタンスは
”d1”
という変数に格納されています。
この"d1"に対して、Run() というメソッドを呼び出し、疑似的にこの”d1”を走らせてみようと思います。
Mainファイルに次のように記述します。
|
1 2 3 4 |
d1.Run(); |
構造としてはシンプルで

となっています。
ここまで記述したMainファイルは以下のようになっています。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public class Main { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ Dog d1 = new Dog(4, "ポチ"); d1.Run(); } } |
ここまで書ければ、このポチという名前のインスタンスは走り出します。
プログラムを実行して、ポチが走ることを確認しましょう!

