「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」は小文字である。間違えて大文字にするとエラーになる。
 
== メソッド ==