Урок за конструктор на Java

Java Constructor Tutorial



Инструментът конструктор е много важен и полезен метод, използван за обектно-ориентирано програмиране. Не е задължително да се декларира конструктор за който и да е клас и този инструмент се използва главно за инициализиране на обекта на класа по време на създаването на обекта. Конструкторът не работи като другите нормални методи. По -скоро конструкторът се извиква автоматично при деклариране на обект и той разпределя мястото на паметта за обекта. Този урок ще ви покаже как различни типове дефинирани от потребителя конструктори могат да бъдат внедрени и използвани в програмирането на Java клас.

Характеристики на конструктора

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

Видове конструктори







  1. По подразбиране
  2. Без параметри
  3. Параметризирано

1. Конструктор по подразбиране

Конструкторът по подразбиране се създава от Java компилатора, когато кодерът не декларира конструктор за класа и този конструктор не съдържа никакъв аргумент. Java файлът не съдържа код за конструктора по подразбиране. Конструкторският код по подразбиране се създава по време на компилирането на Java код и се съхранява в .клас файл.



2. Конструктор без параметри

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



3. Параметризиран конструктор

Когато всеки конструктор е деклариран с един или повече параметри, той се нарича параметризиран конструктор. Стойностите на параметрите на конструктора се предават в момента на създаване на обект.





Пример 1: Създаване на конструктор без параметри

Следният код показва как да се използва конструктор без параметри. Беше споменато по -рано, че името на метода на конструктора ще бъде същото като името на класа. Тук името на класа е „ con1 , Така че името на конструктора без параметри е „ con1 () . 'Две променливи на класа,' име ' и ' възраст , “Са декларирани тук. По време на обявяването на обектната променлива „ obj , 'Ще бъде извикан конструкторът и ще се отпечата конкретно съобщение. След това две стойности се присвояват в променливите на класа и се отпечатват по -късно с помощта на „Obj“ обект.

обществен класcon1{

// деклариране на променливи
Низ име;
intвъзраст;

// Конструктор без параметри
con1() {
Система .навън.println('Извиква се конструктор.');

// Инициализиране на променливите
име= „Фахим Реза“;
възраст= 30;
}

// метод main ()
обществен статичен невалиденглавен( Низ []аргументи) {

// Създаване на обект
con1 obj= новcon1();

// Отпечатване на стойностите на свойствата на обекта
Система .навън.печат('Възрастта на' +obj.име + 'е' +obj.възраст);
}
}

Изход:



Следното изображение показва изхода на кода. Конструкторът се извиква по време на създаването на обекта и съобщението Извиква се конструктор се отпечатва. Стойностите на „ име ' и ' възраст “Са зададени вътре в конструктора. Стойностите на тези променливи се отпечатват по -късно.

Пример 2: Създайте параметризиран конструктор

Следният код ще изчисли общата заплата на служител въз основа на основната заплата и ще отпечата другата информация на този служител заедно с изчислената заплата. Тук се декларират седем променливи на класа. Конструкторът, наречен „ con2 () , “Има три параметъра. Първите два параметъра ще вземат низовите стойности в „ име ' и ' пост “, А третият параметър ще приеме числовата стойност в„ основен “Параметър. Стойностите на тези параметри ще бъдат предадени по време на създаването на обекта. Конструкторът ще инициализира променливите на класа с тези стойности и ще изчисли другите стойности въз основа на стойността на „ основен “Параметър. След това името, длъжността и заплатата на служителя ще бъдат отпечатани.

обществен класcon2{

// Деклариране на променливи
Низ име;
Низ пост;
intОсновен;
двойноНаем на къща;
двойноМедицински;
двойноТранспорт;
двойноЗаплата;

// Параметризиран конструктор
con2( Низ име, Низ пост,intосновен) {
това.име =име;
това.пост =пост;
това.Основен =основен;
това.Наем на къща =основен*0,3;
това.Медицински =основен*0,2;
това.Транспорт =основен*0,1;
Заплата=основен+Наем на къща+Медицински+Транспорт;
}

// метод main ()
обществен статичен невалиденглавен( Низ []аргументи) {

// Създаване на обект
con2 obj= новcon2(„Мир Сабир“,'Касиер счетоводител',65000);

// Отпечатване на стойностите на свойствата на обекта
Система .навън.печат('Име на служителя: ' +obj.име + 'н' + 'Публикувай:'+obj.пост +
'н' + „Заплата: TK“+obj.Заплата);
}
}

Изход:

Следното изображение показва изхода на кода. Тук името на служителя, длъжността и основната заплата са посочени в декларацията за създаване на обект. Общата заплата, име и длъжност са отпечатани тук.

Пример 3: Създаване на верига на конструктора

Важно е да знаете за характеристиката на наследяване на обектно-ориентираното програмиране, за да разберете концепцията за веригиране на конструктори. Когато се създава нов клас чрез наследяване на друг клас, той се нарича наследяване. В този случай всички свойства на родителския или базовия клас са достъпни от дъщерния или производен клас. Когато се създаде обект от дъщерния клас, той автоматично извиква конструктора на родителския клас, преди да извика свой собствен конструктор. „ супер () “Се използва в други езици за извикване на родителския конструктор, но Java компилаторът извиква този метод автоматично. Използването на конструктори по този начин се нарича конструкторно веригиране и този процес е показан в този пример. Тук името на родителския клас е „ родител “И името на дъщерния клас е„ con3 . “Има и друг метод, наречен„ комбинирам () “В дъщерния клас, който комбинира стойностите, зададени в родителския и дъщерния конструктор.

класродител{

// Деклариране на променлива
Низ strVal;

// Родителски конструктор
родител(){
Система .навън.println('Родителски конструктор се нарича');
strVal= 'Харесвам ';
}
}

обществен класcon3разширявародител{

// Деклариране на променлива
Низ childStrVal;

// Детски конструктор
con3(){
Система .навън.println(„Детски конструктор се нарича“);
childStrVal=strVal+ „Java програмиране“;
}

// Друг метод за комбиниране на низове
Низ комбинирам()
{
връщане това.childStrVal;
}

// метод main ()
обществен статичен невалиденглавен( Низ []аргументи) {

// Създаване на обект
con3 obj= новcon3();
// Отпечатване на стойностите на свойствата на обекта
Система .навън.печат(obj.комбинирам());
}
}

Изход:

Следното изображение показва изхода на кода. Първото съобщение се отпечатва от родителския конструктор, докато второто съобщение се отпечатва от дъщерния конструктор. Последното съобщение се отпечатва, като се обадите на „ комбинирам () ’Метод.

Заключение

Концепцията за конструктора и употребата на различни конструктори са обяснени в този урок, като се използват лесни примери за Java код, които начинаещите потребители могат да следват. Надяваме се, че тези примери са ви помогнали да разберете основите на Java конструктора.