1. Главная
  2. Библиотека
  3. Программирование
  4. Программа выводит 0 9, а должна — 6 9. Найди одну(!) ош...
Разбор задачи

Программа выводит 0 9, а должна — 6 9. Найди одну(!) ошибку и исправь ее. com.javarush.task.task15.task1526; class Solution { public static void main(String[] args) { new B(6); } public static class A { private int f1 = 7; public A(int f1) { this.f1 = f1;

  • Предмет: Программирование
  • Автор: Кэмп
  • #Основы алгоритмизации и программирования
  • #Языки программирования (C++, Java, Python и др.)
Программа выводит 0 9, а должна — 6 9. Найди одну(!) ошибку и исправь ее. com.javarush.task.task15.task1526; class Solution { public static void main(String[] args) { new B(6); } public static class A { private int f1 = 7; public A(int f1) { this.f1 = f1;

Условие:

Программа выводит 0 9, а должна — 6 9. Найди одну(!) ошибку и исправь ее.
\npackage com.javarush.task.task15.task1526;
\npublic class Solution {
public static void main(String[] args) {
new B(6);
}

public static class A {
private int f1 = 7;

public A(int f1) {
this.f1 = f1;
initialize();
}

protected void initialize() {
System.out.println(f1);
}
}

public static class B extends A {
protected int f1 = 3;

public B(int f1) {
super(f1);
this.f1 += f1;
initialize();
}

protected void initialize() {
System.out.println(f1);
}
}
}

Решение:

Давайте разберем код и найдем ошибку, из-за которой программа выводит 0 9 вместо 6
9.

  1. В методе main создается объект класса B с параметром 6. Это вызывает конструктор класса B, который в свою очередь вызывает конструктор класса A с тем же параметром.

  2. В конструкторе класса A происходит следующее:
    • this.f1 = f1; устанавливает значение f1 в 6 (переданное значение).
    • Затем вызывается метод initialize(), который выводит значение f1 класса A. На этом эт...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какое ключевое понятие в ООП иллюстрирует проблема с выводом 0 9 вместо 6 9 в данном коде?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет