Страницы

Поиск по вопросам

четверг, 2 января 2020 г.

Java отличие инициализации от конструктора

#java


В чем разница между этими двумя конструкциями. Или если переформулировать вопрос,
то зачем нужны блоки инициализации, если есть всем привычный конструктор без параметров?
    


Ответы

Ответ 1



Динамический блок — это добавка для упрощения написания конструктора, и он не приносит дополнительной функциональности. Он позволяет сэкономить создание функции запуска и добавление её вызова из всех конструкторов. Например, фрагмент кода: public class Car { static int count = 0; public Car (String model) { init(); // ... } public Car (String model, Double price) { init(); // ... } private void init() { count++; System.out.println("Hello everyone, we have " + count + " cars now!"); } // ... } равнозначен коду: public class Car { static int count = 0; public Car (String model) { // ... } public Car (String model, Double price) { // ... } { count++; System.out.println("Hello everyone, we have " + count + " cars now!"); } // ... } Wikipedia

Комментариев нет:

Отправить комментарий