private int a = 2;
public A(int x) {
a = x*2;
}
public A() {
this(5);
}
public int test() {
return a;
}
public static void main(String argv[]) {
A a1 = new A();
System.out.println(a1.test());
}
私はJavaを初めて使いました。これは私の模擬テストの質問です。出力は10で、私は5であるべきだと思った。助けてください!非常に感謝します!オーバーロードコンストラクタ
くださいコードを適切にフォーマットしてください – Jens
コードをより明示的にフォーマットしてください。あなたは十分な垂直スペースを持っています - それを使用してください!さて、あなたはなぜ答えが5であるべきだと思いますか?引数が5のA(int)コンストラクタを呼び出す 'new A()'を呼び出すと、そのコンストラクタはその値を10倍にします。 –
デバッガを使用すると、何が起こっているかを確認 – Jens