前回は新しく作ったクラスに、状態とデータを全部入力した。
自作したクラスの中に状態を表すデータを作って使う方法 by Javaプログラミング初心者 Vol.37
※下のオレンジ部分
class Student{
String classNumber = “3-1”;
String subject = “math”;
double average = 82.5;
}
今回は、クラスの中に状態のみ書く場合について。
例えば「String classNumber;」と、変数の型と変数だけのもののこと。
class Student{
String classNumber;
String subject;
double average;
}
前回のものと書く内容は同じにしてみると比較しやすそうだから、同じ項目を使うことにする。
新しく作ったクラスを組み込んだコードの一例が以下。
メインメソッドの外側にある。
package JavaTakusanRenshu;
public class yobidashi {
public static void main(String[] args) { ←メインメソッド
}
}
class Student{
String classNumber;
String subject;
double average;
}
※まだこちらのプログラムはメインメソッドの中に何も書かれていないから、実行しても何も起こらない。
これから順番に見ていき、必要なコードを書き足していく。
新しく作ったクラスを利用する流れ
クラス内に書かれたものが変数の型と変数だけであっても、基本的なことは前回と変わらない。
順番は、
新しく作ったクラスのオブジェクトをメインメソッド内で作る
↓
表示させたい内容を指定する
↓
画面に表示
簡単な流れは以上の通り。
まずはオブジェクトを作るところから。
オブジェクトの作り方
前回の記事でも見た通り、メインメソッドの外側に新しく作ったクラスがある。
そのため、メインメソッドに新しいクラスのオブジェクトを作らないと、そのクラスにあるデータは使えない。
※前回の記事の「何故オブジェクトを作らないといけないのか」を参照
オブジェクトの作り方も前回と同じ。
まず、新しいクラス名が「Student」だから、「Student」と書く。
↓
そして、作られる新しいオブジェクトの名前を決める※クラス名と被らなければなんでもいい
↓
とりあえず「Saki」とつける
ここまでで、「Student Saki」まで出来た。
次に右辺を作る。
右辺ではオブジェクトを作るコードを入力する。
まずオブジェクトを新しく作るから「new」と書く。
そして、オブジェクトは「Studentクラス」から作りたいから、「Student」というクラスの名前を書く。
最後に「();」を付ける。
なんで()をつけるんだろうね。
まあいいか。
「Student Saki」と「new Student();」をイコールで結ぶ。
オブジェクトの名前を変えただけで、やってることは前回と変わらないよー。
新しいクラスのデータを使う方法
この場合何ができるかというと、メインメソッド内でその値を直接書くことができる。
実際に自分でやってみるといいかも。
「2-1」だったり、「1-1」だったりと自由に書くことができる。
まずオブジェクト名を書く(Saki)
↓
そしてドット(.)を書いて、新しいクラス名の中の変数名を続ける(classNumber)
二年一組と仮定して、「2-1」と表示させたいから、イコールで結ぶと完成。
いつでも最後に「;」を書くのをお忘れなく。
Sakiというオブジェクト(Studentクラスのデータが入っている)のclassNumberを「2-1」と設定したという形。
このように、後で値を書くこともできる。
もちろんこのままじゃ画面に表示されないから、「System.out.println(Saki.classNumber);」と最後に入力。
実行すると「Saki.classNumber」の値、即ち「2-1」が画面に表示される。
前回のより、一つ手間が増えた分面倒くさく感じちゃうけど・・・。
「classNumber」って長い名前にしちゃったからそう感じるのかも。
完成したコード
これまでのことを全部組み合わせてできたコードが以下のもの。
package JavaTakusanRenshu;
public class yobidashi {
public static void main(String[] args) { ←メインメソッド
Student Saki = new Student();
Saki.classNumber=”2-1”;
System.out.println(Saki.classNumber);
}
}
class Student{
String classNumber;
String subject;
double average;
}
ピンクの部分が今回付け足した部分。
ちなみに
classNumberは新しいクラスの中で「String(文字列)」と指定しているから、「”2-1″」と「”」を付けないとエラーになる。
averageは「double」と小数点で表すから、文字列を書くことはできない。
Saki.average=86.4;という風に「”」を付けずに書く。
最後に
今回はメインメソッド内で値を設定する方法について習得した。
もとから値がある場合と比べると、「Saki.classNumber=”2-1”;」と書いたりして一つ書くコードが増える。
けれども、値を後で設定するか、先に設定するかの違いだから結局していることは同じか。
どちらの方法も理屈がわかればまだ簡単だなと思った。
コメント