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? Вы вызываете 'new A()', который вызывается конструктором 'A (int)' с аргументом 5 ... и затем этот конструктор удваивает значение до 10. –
Если вы используете отладчик, вы будете см., что происходит. – Jens