Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП зачет.docx
Скачиваний:
89
Добавлен:
01.04.2022
Размер:
3.08 Mб
Скачать

Конструкторы

У каждого класса есть конструктор. ava-конструктор — это специальный метод, который вызывается при создании экземпляра объекта. Другими словами, когда вы используете новое ключевое слово. Цель конструктора — инициализировать вновь созданный объект перед его использованием.Если мы явно не пишем конструктор для класса, компилятор Java создает конструктор по умолчанию для этого класса.

Каждый раз, когда создается новый объект, будет вызываться как минимум один конструктор. Основное правило конструкторов заключается в том, что они должны иметь то же имя, что и класс. Класс может иметь более одного конструктора.

  • Первая часть объявления конструктора — это модификатор доступа. Он имеет те же значения, что и для методов и полей. Определяют, какие классы могут получить доступ (вызвать) конструктор.

  • Вторая часть — это имя класса, к которому принадлежит конструктор. Использование сигнализирует компилятору, что это конструктор. Также обратите внимание, что конструктор не имеет возвращаемого типа, как другие методы Java.

  • Третья часть — это список параметров, которые может принимать конструктор. Объявляются в круглых скобках () после части имени класса конструктора. В приведенном выше примере параметры не объявляются.

  • Четвертая часть — это тело конструктора. Определяется внутри фигурных скобок {} после списка параметров. В приведенном выше примере нет операций внутри тела конструктора. Говорят, что это «пустой» конструктор.

Класс может иметь несколько конструкторов, если их сигнатура (параметры, которые они принимают) не совпадают. Когда класс содержит несколько конструкторов, мы говорим, что конструктор перегружен (поставляется в нескольких версиях)

Вы вызываете конструктор, когда создаете новый экземпляр класса, содержащий его:

MyClass myClassVar = new MyClass();

Этот пример вызывает конструктор без аргументов для MyClass, как определено ранее в этом тексте.

Если вы хотите передать параметры конструктору, вы должны включить их в круглые скобки после имени класса:

MyClass myClassVar = new MyClass(1975);

Этот пример передает один параметр конструктору MyClass, который принимает int в качестве параметра.

Вопрос 4. Модификаторы доступа

Все члены класса в языке Java - поля и методы - имеют модификаторы доступа.

В Java используются следующие модификаторы доступа:

  • public: публичный, общедоступный класс или член класса. Поля и методы, объявленные с модификатором public, видны другим классам из текущего пакета и из внешних пакетов.

  • private: закрытый класс или член класса, противоположность модификатору public. Закрытый класс или член класса доступен только из кода в том же классе.

  • protected: такой класс или член класса доступен из любого места в текущем классе или пакете или в производных классах, даже если они находятся в других пакетах

  • Модификатор по умолчанию. Отсутствие модификатора у поля или метода класса предполагает применение к нему модификатора по умолчанию. Такие поля или методы видны всем классам в текущем пакете.