私は、このコードの一部が何の働きをしているか知ることに問題があります。このコードのCount使用法と混同します。
ここにある:
public class fia1 {
public static void main(String [] args) {
Band b0 = new Band();
b0.name = "Beastie";
b0.age = 25;
Band b1 = new Band();
b1.name = "Orchestra";
b1.age = 100;
System.out.println(b0.count);
Band b2 = new Band();
b2.name = "Polka";
b2.age = 5;
System.out.println("Names: " + b0.name + " " + b1.name + "
" + b2.name);
System.out.println(Band.count);
b1 = b2;
b1.age = 10;
b0.age = b2.age + b0.age;
System.out.println("Ages = " + b0.age + " " + b1.age + " "
+ b2.age);
}
}
class Band {
String name;
int age;
static int count = 1;
Band() {
count = count * 2;
}
}
それでは、このプリントは次のとおりです。
4
Names: Beastie, Orchestra, Polka
8
Ages: 35, 10, 10
すると、私は私が私の最初のカウントから4を得る方法として混乱しています。また私はそれを知っている
static int count = 1;
私は誤解しているところです。これは、Javaが変数をどのようにカウントするのでしょうか? 1、2はBeastie、3はOrchestra、4はPolkaです。私は本当にこれがどのように機能しているのか分かりません。ご協力いただきありがとうございます!
コンストラクタで2を掛けて、カウントを出力するまでにコンストラクタ呼び出しを2回行ったことを確認してください。 –