この記事をまだ読んでない方はこちら
👉 【ポケモン×Java】第2章🔥:『ゆけ、ピカチュウ!』~コンストラクタとインスタンス~
🍃 はじめに
「`new Pikachu()` って書いたら、ピカチュウが登場した!けど……何が起きてるの?」
そんな素朴な疑問から始まる今回のテーマは、**Javaの“はじまりの魔法”**――「コンストラクタ」。
「自分で書いた覚えないのに動いてる!」「書く必要ある?」「どんなふうに使うのが正解?」
そんな疑問を、ポケモンたちの世界で一緒に紐解いていこう!
📚 目次
- コンストラクタってなに?まずは正体を知ろう
- 書かなくても動くのはなぜ?
- 書くならどう書く?コンストラクタの基本形
- 初期化ってなに?
- 引数つきコンストラクタで冒険をカスタマイズ!
- まとめ:コンストラクタは冒険の準備フェーズ
1. コンストラクタってなに?まずは正体を知ろう
コンストラクタとは、クラス内の処理を使うとき、最初に実行する特別なメソッド。
Javaでは、こんなふうに書かれているよ:
例:
「ポケモンがモンスターボールから出てくるときに、何をするか決める場所」!
Pikachu.java
class Pikachu {
// コンストラクタ start
Pikachu() {
System.out.println("ピカチュウが登場!");
}
// コンストラクタ end
}
📒 トレーナーメモ①
- クラス名と同じ名前のメソッド
Pikachu()
- 戻り値は書かない(voidもダメ!)
※ voidがつくと、ただのメソッドになるぞ!
この「登場時の処理」を書くのが、コンストラクタ(特別なメソッド)なんだ!
2. 書かなくても動くのはなぜ?
えっ?「自分でコンストラクタなんて書いた覚えないけど…?」って人、多いはず!
実は Java は、自分で何も書かなければ
「空のコンストラクタ(デフォルトコントラクタ)」
を自動で用意してくれる。
Pikachu.java
class Pikachu {
// コンストラクタ start
// 書いてない、、、
// コンストラクタ end
void cry() {
System.out.println("ピカ〜〜ッ!");
}
}
このクラスでも、
BattleStage.java
class BattleStage {
public static void main(String[] args) {
Pikachu pi = new Pikachu();
}
}
って書けば、ちゃんと動く。
これは「デフォルトコンストラクタ(引数なし)」が裏で用意されてるから!
3. 書くならどう書く?コンストラクタの基本形
でも、自分で何か処理をしたいなら、やっぱり自分で書く必要があるよね。
例:
ピカチュウをモンスターボールから出したときに鳴き声を出す。
Pikachu.java
class Pikachu {
// コンストラクタ start
Pikachu() {
System.out.println("ピカチュウが登場!");
cry();
}
// コンストラクタ end
void cry() {
System.out.println("ピカ〜〜ッ!");
}
}
このように、コンストラクタ内に書くことで、
クラスを呼び出すときに、最初に実行したい処理が呼び出される。
4. 初期化ってなに?
ここで新しい言葉が出てくるよ。それが「初期化」。
これは、クラスの フィールド(属性) に、必要な 情報 をセットしておくこと!
これが「初期化」だ。
例:
Pikachu.java
class Pikachu {
String nickname;
// コンストラクタ start
Pikachu() {
nickname = "ピカ太郎";
}
// コンストラクタ end
}
📒 トレーナーメモ②
このコードでは、「nickname」というフィールドに、
最初のニックネームをセットしている。
(例:ここで何も書かなかった場合、このピカチュウには
ニックネームがついていないことになる!)
5. 引数つきコンストラクタで冒険をカスタマイズ!
ピカチュウごとに違うニックネームをつけたいときは、
引数を使ったコンストラクタが便利!
Pikachu.java
class Pikachu {
String nickname;
Pikachu(String name) {
nickname = name;
}
}
BattleStage.java
class BattleStage {
public static void main(String[] args) {
Pikachu pi1 = new Pikachu("ピカ太郎");
Pikachu pi2 = new Pikachu("でんきまる");
}
}
これで「ピカ太郎」「でんきまる」など、違う名前のピカチュウを自由に生み出せる!
コンストラクタって、そんなカスタム性を生む大事な存在!
6. まとめ:コンストラクタは冒険の準備フェーズ
ポイント | 内容 |
---|---|
書かなくてもOK | Javaが自動でデフォルトを用意してくれる |
書けば最初にやることを決められる | セリフ・名前設定など自由に書ける |
初期化の場として重要 | フィールドの値をセットするタイミング |
引数つきで柔軟性アップ | クラスの個性を作れる |
📒 トレーナーメモ③
イメージがつかなかったキミには、別のアドバイス!!
冒険を始める前にリュックの整理をするよね。
それが「コンストラクタ」の役目なんだ!
例:
コンストラクタ イメージ 記載例 未記入 リュックのみ用意 記載なし 引数なし リュック用意
(初期装備だけ指定可能)Bag(); 引数あり リュック用意
(ボール、きずぐすり等、
好きに選べる!)Bag(ball,medicine);
あとがき
ここまで読んでくれて、本当にありがとうございました。
「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。
次の投稿も、よろしくおねがいします。
💬 コメント・フィードバック歓迎!
「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!
Views: 0