Особенности конструктора
- Имя конструктора должно совпадать с именем класса.
- Тип возврата недействителен.
- Конструктор не может быть статическим, абстрактным и окончательным.
Типы конструктора
- Дефолт
- Без параметров
- Параметризованный
1. Конструктор по умолчанию
Конструктор по умолчанию создается компилятором Java, когда кодировщик не объявляет конструктор для класса и этот конструктор не содержит аргументов. Файл Java не содержит кода для конструктора по умолчанию. Код конструктора по умолчанию создается во время компиляции кода Java и сохраняется в .класс файл.
2. Конструктор без параметров
Когда конструктор объявляется без каких-либо параметров или аргументов, он называется конструктором без параметров. Конструктор без параметров работает как конструктор по умолчанию, и этот конструктор может содержать операторы или быть пустым.
3. Параметризованный конструктор
Когда любой конструктор объявляется с одним или несколькими параметрами, он называется параметризованным конструктором. Значения параметров конструктора передаются во время создания объекта.
Пример 1: Создание конструктора без параметров
В следующем коде показано, как использовать конструктор без параметров. Ранее упоминалось, что имя метода конструктора будет таким же, как имя класса. Здесь имя класса ‘ con1 , ’, Поэтому имя конструктора без параметров -‘ con1 () . ’Две переменные класса,‘ имя ' а также ' возраст , ’Объявлены здесь. Во время объявления объектной переменной ‘ объект , ’Будет вызван конструктор и будет напечатано конкретное сообщение. После этого переменным класса присваиваются два значения, которые позже печатаются с использованием ‘Obj’ объект.
общественный классcon1{// объявляем переменные
Нить имя;
intвозраст;
// Конструктор без параметров
con1() {
Система .из.println(«Конструктор называется».);
// Инициализируем переменные
имязнак равно 'Фахим Реза';
возрастзнак равно 30;
}
// метод main ()
общественный статический пустотаглавный( Нить []аргументы) {
// Создаем объект
con1 objзнак равно новыйcon1();
// Распечатываем значения свойств объекта
Система .из.Распечатать('Возраст ' +объектимя + ' является ' +объектвозраст);
}
}
Выход:
На следующем изображении показан результат выполнения кода. Конструктор вызывается во время создания объекта и сообщения Конструктор называется печатается. Ценности ‘ имя ' а также ' возраст ’Назначаются внутри конструктора. Значения этих переменных печатаются позже.
Пример 2: Создание параметризованного конструктора
Следующий код рассчитает общую зарплату сотрудника на основе базовой зарплаты и распечатает другую информацию об этом сотруднике вместе с рассчитанной зарплатой. Здесь объявлено семь переменных класса. Конструктор с именем ‘ con2 () , ’Имеет три параметра. Первые два параметра будут принимать строковые значения в ' имя ' а также ' Почта ’, А третий параметр примет числовое значение в‘ базовый ’Параметр. Значения этих параметров будут переданы во время создания объекта. Конструктор инициализирует переменные класса этими значениями и вычислит другие значения на основе значения ‘ базовый ’Параметр. Далее будут напечатаны имя, должность и зарплата сотрудника.
общественный классcon2{// Объявляем переменные
Нить имя;
Нить Почта;
intБазовый;
двойнойАренда дома;
двойнойМедицинское;
двойнойТранспорт;
двойнойЗарплата;
// Параметризованный конструктор
con2( Нить имя, Нить Почта,intбазовый) {
это.имя знак равноимя;
это.Почта знак равноПочта;
это.Базовый знак равнобазовый;
это.Аренда дома знак равнобазовый*0,3;
это.Медицинское знак равнобазовый*0,2;
это.Транспорт знак равнобазовый*0,1;
Зарплатазнак равнобазовый+Аренда дома+Медицинское+Транспорт;
}
// метод main ()
общественный статический пустотаглавный( Нить []аргументы) {
// Создаем объект
con2 objзнак равно новыйcon2('Мир Саббир','Бухгалтер',65000);
// Распечатываем значения свойств объекта
Система .из.Распечатать('Имя сотрудника: ' +объектимя + ' п' + 'Почта: '+объектПочта +
' п' + 'Зарплата: ТЗ'+объектЗарплата);
}
}
Выход:
На следующем изображении показан результат выполнения кода. Здесь имя сотрудника, должность и базовый оклад указаны в заявлении о создании объекта. Здесь печатается общая зарплата, имя и должность.
Пример 3: Создание цепочки конструкторов
Для понимания концепции построения цепочки конструкторов важно знать о функции наследования в объектно-ориентированном программировании. Когда новый класс создается путем наследования другого класса, это называется наследованием. В этом случае все свойства родительского или базового класса доступны из дочернего или производного класса. Когда создается объект дочернего класса, он автоматически вызывает конструктор родительского класса перед вызовом собственного конструктора. ‘ супер() ’В других языках используется для вызова родительского конструктора, но компилятор Java вызывает этот метод автоматически. Такое использование конструкторов называется цепочкой конструкторов, и этот процесс показан в этом примере. Здесь имя родительского класса ‘ родитель ’, А имя дочернего класса -‘ con3 . 'Есть еще один метод, названный' комбинировать () ’В дочернем классе, который объединяет значения, присвоенные родительским и дочерним конструкторами.
классродитель{// Объявить переменную
Нить strVal;
// Родительский конструктор
родитель(){
Система .из.println('Родительский конструктор вызывается');
strValзнак равно 'Мне нравится ';
}
}
общественный классcon3расширяетродитель{
// Объявить переменную
Нить childStrVal;
// Дочерний конструктор
con3(){
Система .из.println('Дочерний конструктор называется');
childStrValзнак равноstrVal+ «Программирование на Java»;
}
// Другой метод объединения строк
Нить комбинировать()
{
возвращение это.childStrVal;
}
// метод main ()
общественный статический пустотаглавный( Нить []аргументы) {
// Создаем объект
con3 objзнак равно новыйcon3();
// Распечатываем значения свойств объекта
Система .из.Распечатать(объекткомбинировать());
}
}
Выход:
На следующем изображении показан результат выполнения кода. Первое сообщение печатается из родительского конструктора, а второе сообщение выводится из дочернего конструктора. Последнее сообщение печатается путем вызова ‘ комбинировать () 'Метод.
Заключение
Концепция конструктора и использование различных конструкторов объясняются в этом руководстве с использованием простых примеров кода Java, которым могут следовать начинающие пользователи. Надеюсь, эти примеры помогли вам понять основы конструктора Java.