Constructori în Java

În Java, un constructor este un bloc de coduri similar cu metoda. Se numește atunci când se creează o instanță a clasei. În momentul apelării constructorului, memoria pentru obiect este alocată în memorie.

Este un tip special de metodă care este utilizată pentru a inițializa obiectul.

De fiecare dată când un obiect este creat folosind cuvântul cheie new (), este chemat cel puțin un constructor.

Apelează un constructor implicit dacă nu există un constructor disponibil în clasă. În acest caz, compilatorul Java oferă în mod implicit un constructor implicit.

Există două tipuri de constructori în Java: constructor fără arg și constructor parametrizat.

Notă: Se numește constructor deoarece construiește valorile în momentul creării obiectului. Nu este necesar să scrieți un constructor pentru o clasă. Acest lucru se datorează faptului că compilatorul Java creează un constructor implicit dacă clasa dvs. nu are.

Reguli pentru crearea constructorului Java

Există două reguli definite pentru constructor.

  1. Numele constructorului trebuie să fie același cu numele clasei sale
  2. Un constructor nu trebuie să aibă niciun tip de returnare explicită
  3. Un constructor Java nu poate fi abstract, static, final și sincronizat

Notă: Putem folosi modificatori de acces în timp ce declarăm un constructor. Acesta controlează crearea obiectului. Cu alte cuvinte, putem avea un constructor privat, protejat, public sau implicit în Java.

Tipuri de constructori Java

Există două tipuri de constructori în Java:

  1. Constructor implicit (constructor fără arg)
  2. Constructor parametrizat

Constructor implicit Java

Un constructor se numește „Constructor implicit” atunci când nu are parametru.

Sintaxa constructorului implicit:

Exemplu de constructor implicit

În acest exemplu, creăm no- arg constructor la clasa Bike. Acesta va fi invocat în momentul creării obiectului.

Testează-l acum

Ieșire:

Bike is created

Regula: Dacă nu există un constructor într-o clasă, compilatorul creează automat un constructor implicit.

Q) Care este scopul unui constructor implicit?

Constructorul implicit este utilizat pentru a furniza valorile implicite obiectului, cum ar fi 0, nul etc., în funcție de tip.

Exemplu de constructor implicit care afișează valorile implicite

Testează-l acum

Ieșire:

0 null0 null

Explicație: În clasa de mai sus, nu ești crearea oricărui constructor, astfel încât compilatorul vă oferă un constructor implicit. Aici 0 și valorile nule sunt furnizate de constructorul implicit.

Java Parameterized Constructor

Un constructor care are un număr specific de parametri se numește constructor parametrizat.

De ce să folosiți constructorul parametrizat?

Constructorul parametrizat este utilizat pentru a furniza valori diferite obiectelor distincte. Cu toate acestea, puteți furniza aceleași valori.

Exemplu de constructor parametrizat

În acest exemplu, am creat constructorul clasei Student care are doi parametri. Putem avea orice număr de parametri în constructor.

Testează-l acum

Ieșire:

111 Karan222 Aryan

Supraîncărcarea constructorului în Java

În Java, un constructor este la fel ca o metodă, dar fără tip return. Poate fi, de asemenea, supraîncărcat ca metodele Java.

Supraîncărcarea constructorului în Java este o tehnică de a avea mai mult de un constructor cu liste de parametri diferiți. Acestea sunt aranjate astfel încât fiecare constructor să îndeplinească o sarcină diferită. Acestea sunt diferențiate de compilator prin numărul de parametri din listă și tipurile lor.

Exemplu de supraîncărcare a constructorilor

Testează-l acum

Ieșire:

111 Karan 0222 Aryan 25

Diferența dintre constructor și metodă în Java

Există multe diferențe între constructori și metode. Acestea sunt prezentate mai jos.

Java Constructor Metoda Java
Un constructor este folosit pentru a inițializa starea unui obiect. O metodă este utilizată pentru a expune comportamentul unui obiect.
Un constructor trebuie să nu aibă un tip de returnare. O metodă trebuie să aibă un tip de returnare.
Constructorul este invocat implicit. Metoda este invocat în mod explicit.
Compilatorul Java oferă un constructor implicit dacă nu aveți niciun constructor într-o clasă. Metoda nu este furnizată de compilatorul în orice caz.
Numele constructorului trebuie să fie același cu numele clasei. Numele metodei poate sau nu să fie același cu clasa nume.

Constructor copiere Java

Nu există un constructor de copii în Java.Cu toate acestea, putem copia valorile de la un obiect la altul, ca un constructor de copiere în C ++.

Există multe modalități de a copia valorile unui obiect în altul în Java. Acestea sunt:

  • Prin constructor
  • Prin atribuirea valorilor unui obiect în altul
  • Prin metoda clone () a clasei de obiecte

În acest exemplu, vom copia valorile unui obiect în altul folosind constructorul Java.

Testează-l acum

Ieșire:

111 Karan111 Karan

Copierea valorilor fără constructor

Putem copia valorile unui obiect în altul atribuind valorile obiectelor altui obiect. În acest caz, nu este necesar să creați constructorul.

Testați-l acum

Ieșire:

111 Karan111 Karan

Î) Constructorul returnează vreo valoare?

Da, este instanța curentă a clasei (nu puteți utiliza încă tipul de returnare returnează o valoare).

Poate constructorul să efectueze alte sarcini în loc de inițializare?

Da, cum ar fi crearea obiectelor, pornirea unui thread, apelarea unei metode etc. Puteți efectua orice operație în constructor așa cum efectuați în metodă.

Există clasă Constructor în Java?

Da.

Care este scopul clasei Constructor?

Java oferă o clasă Constructor care poate să fie folosit pentru a obține informațiile interne ale unui constructor din clasă. Se găsește în pachetul java.lang.reflect.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *