「Java/文法/クラス」の版間の差分
削除された内容 追加された内容
クラス変数のコード例 |
インスタンスの配列化 |
||
146 行
static を使っているほうは、出力の1行目が「牛乳」ではなく「コーヒー牛乳」に変わっています。これは17行目と18行目でクラス側で管理されていた変数を書き換えたからです。フィールドをstatic修飾子をつけて宣言するとクラス側で管理することになるので、上記のように結果が変わります。
== インスタンスの配列化 ==
実際にクラスを使う場合は、インスタンスを配列にすると便利な場合も多い。その場合、配列の要素数だけ new 宣言が必要である。
要素数が100個とか多い場合にnew を 100個書くのは非現実的であるが、安心してもいいことに for 文を使うことで機械にnew宣言を繰り返しさせる仕組みがあるので大丈夫である。
下記のようなコードになる。
;ClassSyntax.java:<syntaxhighlight lang="Java" line>
class Product {
String name;
int price;
}
class ClassSyntax {
public static void main(String[] args) {
Product[] drink = new Product[2];
for(int i = 0; i < drink.length; i++){
drink[i] = new Product();
}
drink[0].name = "牛乳";
drink[0].price = 150;
drink[1].name = "コーヒー牛乳";
drink[1].price = 180;
System.out.println(drink[0].name + "の単価は" + drink[0].price + "円");
System.out.println(drink[1].name + "の単価は" + drink[1].price + "円");
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
牛乳の単価は150円
コーヒー牛乳の単価は180円
</syntaxhighlight>
.length プロパティの冒頭「l」は小文字である。間違えて大文字にするとエラーになる。
== メソッド ==
|