Руководство по конструктору Java

Java Constructor Tutorial



Инструмент конструктора - очень важный и полезный метод, используемый для объектно-ориентированного программирования. Объявлять конструктор для любого класса не обязательно, и этот инструмент в основном используется для инициализации объекта класса во время создания объекта. Конструктор работает не так, как другие обычные методы. Скорее, инструмент конструктора вызывается автоматически при объявлении объекта, и он выделяет место в памяти для объекта. Это руководство покажет вам, как можно реализовать и использовать различные типы определяемых пользователем конструкторов в программировании классов Java.

Особенности конструктора

  1. Имя конструктора должно совпадать с именем класса.
  2. Тип возврата недействителен.
  3. Конструктор не может быть статическим, абстрактным и окончательным.

Типы конструктора







  1. Дефолт
  2. Без параметров
  3. Параметризованный

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.