Ako najlepšie implementovať preťaženie konštruktéra v Jave?



Tento článok vás zoznámi s preťažením konštruktéra v prostredí Java. Po vysvetlení bude nasledovať programová ukážka.

Príchod Javy vzal programátorský svet útokom a hlavným dôvodom je množstvo funkcií, ktoré priniesol. V tomto článku by sme diskutovali o preťažení konštruktora v . V tomto článku sa budeme zaoberať nasledujúcimi ukazovateľmi,

Poďme teda do toho,





Preťaženie konštruktora v Jave

Čo je to konštruktér?

Konštruktor je blok kódu, ktorý sa používa na vytvorenie objektu triedy. Každá trieda má konštruktor, či už je to normálna trieda alebo abstraktná trieda. Konštruktor je ako metóda, ale bez návratového typu. Ak pre triedu nie je definovaný žiadny konštruktor, vytvorí sa predvolený konštruktor pomocou kompilátora.

java program pre sériu fibonacci

Príklad



public class Student {// no constructor private Názov reťazca private int age private String std // getters and setters public void display () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// ak chcete použiť metódu zobrazenia triedy Student, vytvorte objekt Student Student student = new Student () //, pretože sme nedefinovali žiadny konštruktor , kompilátor vytvorí predvolený konštruktor. aby student.display ()}}

Vo vyššie uvedenom programe je predvolený konštruktor vytvorený kompilátorom tak, aby bol vytvorený objekt. Je nevyhnutné mať konštruktéra.

Týmto sa dostávame k ďalšej časti tohto článkuPreťaženie konštruktora v Jave.

Potreba ďalších konštruktérov

Vo vyššie uvedenom príklade je možné študentský objekt vytvoriť iba s predvoleným konštruktorom. Kde nie sú inicializované všetky ostatné atribúty študenta. Ale môžu existovať určité ďalšie konštruktory, ktoré sa používajú na inicializáciu stavu objektu. napr. -



public class Student {// attributes String name int age String std // Constructors public Student (String name) {// Constructor 1 this.name = name} public Student (String name, String std) {// Constructor 2 this.name = name this.std = std} public Student (String name, String std, int age) {// Konštruktor 3 this.name = pomenovať this.std = std this.age = age} public void display () {System.out .println (this.getName () + '' + this.getAge () + '' + this.getStd ())} public static void main (String args []) {Student stu1 = new Student ('ABC') stu1 .display () Student stu2 = nový Student ('DEF', '5-C') stu2.display () Student stu3 = nový Student ('GHI', '6-C', 12) stu3.display ()}}

Týmto sa dostávame k ďalšej časti tohto článkuPreťaženie konštruktora v Jave.

tento () odkaz

this () reference can be used inside parameterized constructor to call default constructor implicitily. Upozorňujeme, že toto () by malo byť prvým príkazom vo vnútri konštruktora.

Príklad

public Student () {} // Konštruktor 4 public Student (Názov reťazca, String std, int vek) {// Konštruktor 3 this () // bude nazývať predvolený konštruktor. * Ak nejde o prvé vyhlásenie konštruktora, dôjde k CHYBE * this.name = pomenujte this.std = std this.age = age

Poznámka

  • Rekurzívne volanie konštruktora je v jave neplatné
  • Ak sme definovali ľubovoľný parametrizovaný konštruktor, potom kompilátor nevytvorí predvolený konštruktor. a naopak, ak nedefinujeme žiadny konštruktor, kompilátor predvolene počas kompilácie vytvorí predvolený konštruktor (tiež známy ako konštruktor bez arg).
  • Volanie konštruktora musí byť prvým príkazom konštruktora v Jave

Dostali sme sa tak na koniec tohto článku o preťažení konštruktora v Jave. Ak sa chcete dozvedieť viac, pozrite si Edureka, dôveryhodná online vzdelávacia spoločnosť. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je navrhnutý tak, aby vás vyškolil pre základné aj pokročilé koncepty Java spolu s rôznymi rámcami Java, ako je Hibernate & Spring.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto blogu a my sa vám ozveme čo najskôr.