Jak nejlépe implementovat přetížení konstruktoru v Javě?



Tento článek vám představí Přetížení konstruktoru v Javě. Po vysvětlení bude následovat programová demonstrace.

Příchod Javy vzal programovací svět útokem a hlavním důvodem je počet funkcí, které přinesl. V tomto článku bychom diskutovali o přetížení konstruktoru . Následující ukazatele budou popsány v tomto článku,

Pojďme tedy začít,





Přetížení konstruktoru v Javě

Co je konstruktér?

Konstruktor je blok kódu, který se používá k vytvoření objektu třídy. Každá třída má konstruktor, ať už je to normální třída nebo abstraktní třída. Konstruktor je jako metoda, ale bez návratového typu. Pokud pro třídu není definován žádný konstruktor, vytvoří se výchozí konstruktor kompilátorem.

jak implementovat hashmapu

Příklad



public class Student {// no constructor private Řetězec name private int age private String // getters and setters public void display () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// pro použití metody zobrazení třídy Student, vytvoříme objekt Student Student student = new Student () //, protože jsme nedefinovali žádný konstruktor , kompilátor vytvoří výchozí konstruktor. takže student.display ()}}

Ve výše uvedeném programu je výchozí konstruktor vytvořen kompilátorem, takže je vytvořen objekt. Je nutné mít konstruktor.

Tím se dostáváme k další části tohoto článkuPřetížení konstruktoru v Javě.

Potřeba dalších konstruktérů

Ve výše uvedeném příkladu lze objekt Student vytvořit pouze pomocí výchozího konstruktoru. Pokud nejsou inicializovány všechny ostatní atributy studenta. Ale mohou existovat určité další konstruktory, které se používají k inicializaci stavu objektu. např. -



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) {// Constructor 3 this.name = name 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ím se dostáváme k další části tohoto článkuPřetížení konstruktoru v Javě.

tento () odkaz

this () reference can be used inside parameterized constructor to call default constructor implicitily. Upozorňujeme, že toto () by mělo být prvním příkazem uvnitř konstruktoru.

Příklad

public Student () {} // Constructor 4 public Student (String name, String std, int age) {// Konstruktor 3 this () // zavolá výchozí konstruktor. * Pokud nejde o první příkaz konstruktoru, dojde k CHYBĚ * this.name = name this.std = std this.age = age

Poznámka

  • Rekurzivní volání konstruktoru je v Javě neplatné
  • Pokud jsme definovali libovolný parametrizovaný konstruktor, kompilátor nevytvoří výchozí konstruktor. a naopak, pokud nedefinujeme žádný konstruktor, kompilátor ve výchozím nastavení vytvoří během kompilace výchozí konstruktor (známý také jako konstruktor no-arg)
  • Volání konstruktoru musí být prvním příkazem konstruktoru v Javě

Tak jsme dospěli ke konci tohoto článku o „Přetížení konstruktoru v Javě“. Pokud se chcete dozvědět více, podívejte se na Edureka, důvěryhodná online vzdělávací společnost. Školicí a certifikační kurz Edureka Java J2EE a SOA je navržen tak, aby vás vyškolil jak pro základní, tak pro pokročilé koncepty Java spolu s různými rámci Java jako Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto blogu a my se vám ozveme co nejdříve.