「Java/文法/クラス」の版間の差分

削除された内容 追加された内容
インスタンスの配列化
Ef3 (トーク | 投稿記録)
→‎コンストラクターのあるクラスのインスタンスの配列化: #インスタンスの配列化で紹介したコードを、コンストラクター・初期化された配列と拡張for文の組合せで再実装すると、下記のように整頓されたコードになる。
タグ: 2017年版ソースエディター
285 行
 
Javaのコンストラクタはひとつのクラスにつき原則ひとつだが、例外的に、引数の型によって処理を変える場合はそれぞれの引数の型に応じたコンストラクタを別々に書ける。よって、引数の型で処理を変える場合は、ひとつのクラス内のコンストラクタの個数が複数になる。
 
== コンストラクターのあるクラスのインスタンスの配列化 ==
[[#インスタンスの配列化]]で紹介したコードを、コンストラクター・初期化された配列と拡張for文の組合せで再実装すると、下記のように整頓されたコードになる。
 
;ClassSyntax2.java:<syntaxhighlight lang="Java" line>
class Product {
String name;
int price;
Product(String name, int price) {
this.name = name;
this.price = price;
}
}
 
class ClassSyntax2 {
public static void main(String[] args) {
Product[] drinks = {
new Product("牛乳", 150),
new Product("コーヒー牛乳", 180),
};
 
for (Product drink: drinks) {
System.out.println(drink.name + "の単価は" + drink.price + "円");
}
}
}</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
牛乳の単価は150円
コーヒー牛乳の単価は180円
</syntaxhighlight>
 
 
[[カテゴリ:Java]]