Знајте о параметарском конструктору у Јави са примерима



Овај чланак покрива како можемо користити параметризовани конструктор у јави са разним примерима и разликом између подразумеваног и параметризованог конструктора.

Јава је један од многих програмских језика који следе . То значи да током програмирања на Јави имамо све моћне карактеристике апстракције података, полиморфизма, наслеђивања итд. Срж свих ООП карактеристика је примена класа и објеката и њихова међусобна интеракција. У овом чланку ћемо посебно размотрити како иницијализовати објекат помоћу параметарских конструктора у . Имајте на уму да је основно разумевање је потребан пре него што наставите са конструкторима.

је низ објект у јави

Шта је конструктор?

Конструктор је у основи метода која се аутоматски позива када се креира објекат (инстанца) те класе. Користи се за иницијализацију чланова података објекта.





јавна класа Едурека {Едурека () {Систем.оут.принтлн ('конструктор је направљен')}}

Неке карактеристике конструктора укључују:

  1. Има исто име као и назив класе
  2. Нема повратни тип

Врсте конструктора

  1. Подразумевани конструктор
  2. Параметарски конструктор

типови конструктора - параметризовани конструктор у јава-едурека



Подразумевани конструктор вс параметарски конструктор

Подразумевани конструктор - Конструктор који не прихвата ниједан параметар назива се Дефаулт Цонструцтор. У дефиницији класе није потребно имати блок конструктора. Ако не напишете експлицитно конструктор, компајлер аутоматски убацује један за вас.

Пример илустрације подразумеваног конструктора у Јави:

јавна класа Едурека {Едурека () {Систем.оут.принтлн ('Ја сам конструктор')} јавна статичка воид главна (Стринг аргс []) {Едурека обј = нев Едурека ()}}
 Излаз: Ја сам конструктор

Параметарски конструктор - Конструктор се назива Параметарски конструктор када прихвата одређени број параметара. Да иницијализује чланове података класе са различитим вредностима.



Пример који илуструје параметарски конструктор:

јавна класа Едурека {Стринг студентНаме инт студентАге // конструктор Едурека (Име низа, инт старост) {студентНаме = име студентАге = аге} воид дисплаи () {Систем.оут.принтлн (студентНаме + '' + студентАге)} публиц статиц воид маин ( Стринг аргс []) {Едурека миОбј = нова Едурека ('Манан', 19) миОбј.дисплаи ()}}
 Излаз: Манан-19

У горњем примеру преносимо објект и цео број. Конструктор затим иницијализује студентНаме и студентАге користећи прослеђене вредности. Метода приказа тада даје жељени излаз.

Са параметризираним конструктором за класу, морају се дати почетне вриједности као аргументи, у супротном, компајлер пријављује грешку.

Предаја предмета као аргумената

Такође можемо проследити аргументе док правимо друге инстанце класе. На овај начин параметарски конструктори испуњавају потребу за копирањем вредности једног објекта у други.

Пример који илуструје прослеђивање објеката као аргумената:

јавна класа Едурека {Низ студентског имена Едурека (Име низа) {СтудентНаме = наме} Едурека (Едурека миОбј) {тхис.студентНаме = миОбј.студентНаме} воид дисплаи () {Систем.оут.принтлн ('Студент:' + студентНаме)} публиц статиц воид маин (Стринг аргс []) {Едурека обј1 = нев Едурека ('Манан') / * прослеђивање објекта као аргумента за конструктор * ово ће позвати конструктор копирања * / Едурека обј2 = нови систем Едурека (обј1). оут.принтлн ('Штампање обј1 -') обј1.дисплаи () Систем.оут.принтлн ('Штампање обј2 -') обј2.дисплаи ()}}
 Излаз: 
Штампани објекат 1 -МананШтампани објекат 2 -Манан

У горњем примеру, иницијализујемо обј1 помоћу низа. Затим прослеђујемо обј1 као аргумент док правимо обј2. Коначно, када одштампамо обе променљиве студентНаме објекта помоћу функције приказа, добијамо „Манан“.

Позивање заданог конструктора из параметарског конструктора у Јави

Понекад постоји потреба за позивањем подразумеваног конструктора из другог конструктора исте класе. ову кључну реч испуњава ову сврху.

Пример који илуструје позив заданом конструктору из параметризованог конструктора:

јавна класа Едурека {Стринг студентНаме инт студентАге Стринг члан Едурека () {мембер = 'ИЕС'} Едурека (Име низа, инт аге) {тхис () / * ово се користи за позивање подразумеваног конструктора * из параметризованог конструктора * / студентНаме = име студентАге = аге} воид дисплаи () {Систем.оут.принтлн (студентНаме + '-' + студентАге + '-' + 'Мембер' + мембер)} публиц статиц воид маин (Стринг аргс []) {Едурека обј = нев Едурека ('Манан', 21) обј.дисплаи ()}}

Излаз: Манан - 21 - члан ДА

У горњем примеру, када се параметарски конструктор позива, прво позива подразумевани конструктор уз помоћ ове кључне речи. Подразумевани конструктор иницијализује променљиву „члан“ у „ДА“, а затим наставља да извршава параметризовани конструктор.

Преоптерећење конструктора

Конструктор подржава преоптерећење метода баш као и било која друга класа. На основу различитих врста или броја аргумената позваће се различити конструктори.

Пример који илуструје преоптерећење конструктора:

јавна класа Правоугаоник {инт ленгтх инт видтхтх Боја низа // конструктор 1 Правокутник (инт л, инт б) {ленгтх = л видтх = б цолор = 'Греен'} // конструктор 2 Правокутник (инт л, инт б, Стринг ц) {ленгтх = л видтх = б цолор = ц} воид дисплаи () {Систем.оут.принтлн ('Ленгтх-' + ленгтх + 'Ширина-' + ширина + 'Боја' + боја)} публиц статиц воид маин (Стринг аргс [ ]) {Правоугаоник обј1 = нови правоугаоник (2,4) Правоугаоник обј2 = нови правоугаоник (2,4, 'Зелени') обј1.дисплаи () обј2.дисплаи ()}}
 Излаз: Дужина - 2 ширина - 4 Боја - зеленаДужина - 2 ширина - 4 Боја - црвена

Сад кад сте схватили шта су конструктори и како радити с њима, корак сте ближе свом путовању да научите Јаву. Концепти попут конструктора су једноставни, али су изузетно важни јер укључују класе и објекте. За детаљније теме и забавно читање, пријавите се на Едурека'с . Слободно купите наш да покренете своје учење.

Имате питање за нас? молимо вас да то помените у одељку за коментаре овог чланка о „Параметарисаном конструктору на Јави“ и јавићемо вам се што је пре могуће.