#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
Комментариев нет:
Отправить комментарий