Прогнозировать вывод следующих программ Java:
|
Программа работает нормально и печатает 10. В отличие от C ++, в Java члены могут инициализироваться с объявлением класса. Эта инициализация работает хорошо, когда значение инициализации доступно, и инициализация может быть помещена в одну строку (см. Это для более подробной информации). Например, следующая программа также отлично работает.
|
Выход вышеуказанной программы: «x = 4, y = 2». Сначала инициализируется y, затем x инициализируется как y + 2. Таким образом, значение x становится 4.
Что происходит, когда член инициализируется в объявлении класса и в конструкторе? Рассмотрим следующую программу.
|
Выход вышеуказанной программы: «x = 5». Инициализация с объявлением класса в Java подобна инициализации с использованием списка инициализаторов в C ++. Таким образом, в приведенной выше программе значение, присвоенное внутри конструктора, перезаписывает предыдущее значение x, равное 2, и x становится 5.
В качестве упражнения прогнозируем результат следующей программы.
|
Результатом программы является конструктор, называемый 10, конструктор, называемый 5.
Первый объект t2 создается в основном методе. Поскольку порядок инициализации локальных переменных предшествует конструктору, сначала переменная экземпляра (t1) в классе Test2 выделяется памяти. В этой строке создается новый объект Test1, конструктор вызывается в классе Test1 и печатается «Конструктор с именем 10». Затем вызывается конструктор Test2 и снова создается новый объект класса Test1 и печатается «Конструктор с именем 5».
Пожалуйста, пишите комментарии, если вы найдете какие-либо ответы / объяснения неправильными или хотите поделиться дополнительной информацией по темам, обсужденным выше.
Рекомендуемые посты:
- Вывод программы Java | Набор 2
- Вывод программы Java | Комплект 8
- Вывод программы Java | Комплект 9
- Вывод программы Java | Набор 7
- Вывод программы Java | Комплект 6
- Вывод программы Java | Набор 11
- Вывод программы Java | Набор 28
- Вывод программы Java | Комплект 5
- Вывод программы Java | Набор 17
- Вывод программы Java | Комплект 19
- Вывод программы Java | Комплект 26
- Вывод программы Java | Набор 27
- Вывод программы Java | Комплект 1
- Вывод программы Java | Набор 4
- Вывод программы Java | Набор 15 (Внутренние классы)
0.00 (0%) 0 votes