Конструкторы Java
Конструкторы Java
В этом руководстве мы узнаем о конструкторах Java, их типах и способах их использования с помощью примеров.
Что такое конструктор?
Конструктор в Java подобен методу, который вызывается при создании объекта класса.
В отличие от методов Java конструктор имеет то же имя, что и класс, и не имеет возвращаемого типа. Например,
06
Здесь 01
является конструктором. Он имеет то же имя, что и класс, и не имеет возвращаемого типа.
Рекомендуемое чтение: Почему конструкторы не возвращают значения
<час>Пример 1:Конструктор Java
15пре>Вывод :
23В приведенном выше примере мы создали конструктор с именем
12
. . Внутри конструктора мы инициализируем значение name переменная.Обратите внимание на заявление о создании объекта Main. класс.
37Здесь, когда объект создан,
27
вызывается конструктор. И значение name переменная инициализирована.Следовательно, программа выводит значение name переменные как
<час>35
.Типы конструктора
В Java конструкторы можно разделить на 3 типа:
<час>
- Конструктор без аргументов
- Параметрический конструктор
- Конструктор по умолчанию
1. Конструкторы Java без аргументов
Подобно методам, конструктор Java может иметь или не иметь никаких параметров (аргументов).
Если конструктор не принимает никаких параметров, он называется конструктором без аргументов. Например,
45<час>Пример 2:частный конструктор Java без аргументов
53Вывод :
66В приведенном выше примере мы создали конструктор
44
. Здесь конструктор не принимает никаких параметров. Следовательно, он известен как конструктор без аргументов.Обратите внимание, что мы объявили конструктор закрытым.
После объявления конструктора
53
, к нему нельзя получить доступ извне класса. Таким образом, создание объектов вне класса запрещено с помощью закрытого конструктора.Здесь мы создаем объект внутри того же класса. Следовательно, программа может получить доступ к конструктору. Чтобы узнать больше, посетите Java Implement Private Constructor.
Однако, если мы хотим создавать объекты вне класса, нам нужно объявить конструктор как
67
.Пример 3. Общедоступные конструкторы Java без аргументов
78
Вывод :
85Рекомендуемое чтение: Модификатор доступа к Java
<час>2. Конструктор с параметрами Java
Конструктор Java также может принимать один или несколько параметров. Такие конструкторы называются параметризованными конструкторами (конструкторами с параметрами).
Пример 4:Параметризованный конструктор
95Вывод :
102В приведенном выше примере мы создали конструктор с именем
76
. . Здесь конструктор принимает один параметр. Обратите внимание на выражение,110Здесь мы передаем единственное значение конструктору. На основе переданного аргумента языковая переменная инициализируется внутри конструктора.
<час>3. Конструктор Java по умолчанию
Если мы не создадим никакого конструктора, компилятор Java автоматически создаст конструктор без аргументов во время выполнения программы. Этот конструктор называется конструктором по умолчанию.
Пример 5:Конструктор по умолчанию
125Вывод :
139Здесь мы не создали никаких конструкторов. Следовательно, компилятор Java автоматически создает конструктор по умолчанию.
Конструктор по умолчанию инициализирует все неинициализированные переменные экземпляра значениями по умолчанию.
Тип | Значение по умолчанию |
---|---|
81 | ложь |
95 | <тд>0тд> |
109 | <тд>0тд> |
111 | <тд>0тд> |
120 | 0L |
132 | <тд>\u0000тд> |
143 | 0.0f |
156 | 0.0d |
160 | Нулевая ссылка |
В приведенной выше программе переменные a и б инициализируются со значением по умолчанию 0 и 170
соответственно.
Приведенная выше программа эквивалентна:
142
Вывод программы такой же, как в примере 5.
<час>Важные примечания о конструкторах Java
- Конструкторы вызываются неявно, когда вы создаете экземпляры объектов.
- Два правила создания конструктора:
Имя конструктора должно совпадать с именем класса.
Конструктор Java не должен иметь тип возвращаемого значения. - Если у класса нет конструктора, компилятор Java автоматически создает конструктор по умолчанию. во время выполнения. Конструктор по умолчанию инициализирует переменные экземпляра значениями по умолчанию. Например,
182
переменная будет инициализирована до194
- Типы конструктора:
Конструктор без аргументов - конструктор, который не принимает никаких аргументов
Параметрический конструктор - конструктор, который принимает аргументы
Конструктор по умолчанию - конструктор, который автоматически создается компилятором Java, если он не определен явно. - Конструктор не может быть
203
или218
или221
. - Конструктор можно перегрузить, но нельзя переопределить.
Перегрузка конструкторов в Java
Подобно перегрузке методов Java, мы также можем создать два или более конструктора с разными параметрами. Это называется перегрузкой конструкторов.
Пример 6. Перегрузка конструктора Java
154
Вывод :
161
В приведенном выше примере у нас есть два конструктора:235
и 249
. Здесь оба конструктора инициализируют значение языковой переменной разными значениями.
В зависимости от параметра, переданного при создании объекта, вызываются разные конструкторы и назначаются разные значения.
Также можно вызвать один конструктор из другого конструктора. Чтобы узнать больше, посетите страницу Java Call One Constructor from Another.
Примечание :мы использовали 253
ключевое слово для указания переменной класса. Чтобы узнать больше о 261
ключевое слово, посетите Java это ключевое слово.
java