Vědět o parametrizovaném konstruktoru v Javě s příklady



Tento článek popisuje, jak můžeme použít parametrizovaný konstruktor v Javě s různými příklady a rozdíly mezi výchozím a parametrizovaným konstruktorem.

Java je jedním z mnoha programovacích jazyků, které následují . To znamená, že při programování v Javě máme všechny výkonné funkce Data Abstraction, Polymorphism, Inheritance atd. Jádrem všech funkcí OOP je implementace tříd a objektů a jejich vzájemná interakce. V tomto článku se zvláště podíváme na to, jak inicializovat objekt pomocí parametrizovaných konstruktorů v . Vezměte prosím na vědomí, že základní porozumění je vyžadováno, než budete pokračovat konstruktérům.

jednoduchý úvod do vědy o datech

Co je konstruktér?

Konstruktor je v podstatě metoda, která je automaticky volána, když je vytvořen objekt (instance) této třídy. Používá se k inicializaci datových členů objektu.





veřejná třída Edureka {Edureka () {System.out.println ('konstruktor je vytvořen')}}

Mezi funkce konstruktoru patří:

  1. Má stejný název jako název třídy
  2. Nemá žádný návratový typ

Typy konstruktoru

  1. Výchozí konstruktor
  2. Parametrizovaný konstruktor

typy konstruktorů parametrizovaných konstruktory v java-edureka



Výchozí konstruktor vs parametrizovaný konstruktor

Výchozí konstruktor - Konstruktor, který nepřijímá žádný parametr, se nazývá Výchozí konstruktor. V definici třídy není nutné mít blok konstruktoru. Pokud výslovně nepíšete konstruktor, překladač jej automaticky vloží.

Příklad ilustrující výchozí konstruktor v Javě:

public class Edureka {Edureka () {System.out.println ('I am a constructor')} public static void main (String args []) {Edureka obj = new Edureka ()}}
 Výstup: Jsem konstruktér

Parametrizovaný konstruktor - Konstruktor se nazývá Parametrovaný konstruktor, když přijímá konkrétní počet parametrů. Inicializovat datové členy třídy s odlišnými hodnotami.



Příklad ilustrující parametrizovaný konstruktor:

public class Edureka {String studentName int studentAge // constructor Edureka (String name, int age) {studentName = name studentAge = age} void display () {System.out.println (studentName + '' + studentAge)} public static void main ( String args []) {Edureka myObj = new Edureka ('Manan', 19) myObj.display ()}}
 Výstup: Manan-19

Ve výše uvedeném příkladu předáváme objektu řetězec a celé číslo. Konstruktor poté inicializuje studentName a studentAge pomocí předaných hodnot. Metoda zobrazení pak poskytuje požadovaný výstup.

S parametrizovaným konstruktorem pro třídu je třeba zadat počáteční hodnoty jako argumenty, jinak kompilátor nahlásí chybu.

Předávání objektů jako argumentů

Můžeme také předat argumenty při vytváření dalších instancí třídy. Tímto způsobem parametrizované konstruktory splňují potřebu kopírovat hodnoty jednoho objektu do jiného.

Příklad ilustrující předávání objektů jako argumentů:

public class Edureka {String studentName Edureka (String name) {studentName = name} Edureka (Edureka myObj) {this.studentName = myObj.studentName} void display () {System.out.println ('Student:' + studentName)} public static void main (String args []) {Edureka obj1 = new Edureka ('Manan') / * předání objektu jako argument pro konstruktor * toto vyvolá kopírovací konstruktor * / Edureka obj2 = nový systém Edureka (obj1). out.println ('Tisk obj1 -') obj1.display () System.out.println ('Tisk obj2 -') obj2.display ()}}
 Výstup: 
Tisk objektu 1 -MananTisk objektu 2 -Manan

Ve výše uvedeném příkladu inicializujeme obj1 pomocí řetězce. Při vytváření obj2 pak předáme obj1 jako argument. Nakonec, když vytiskneme proměnnou studentName obou objektů pomocí funkce zobrazení, dostaneme „Manan“.

Volání výchozího konstruktoru z parametrizovaného konstruktoru v Javě

Někdy je potřeba zavolat výchozí konstruktor z jiného konstruktoru stejné třídy. toto klíčové slovo plní tento účel.

Příklad ilustrující volání výchozího konstruktoru z parametrizovaného konstruktoru:

public class Edureka {String studentName int studentAge String member Edureka () {member = 'YES'} Edureka (String name, int age) {this () / * this is used for calling the default constructor * from parameterized constructor * / studentName = name studentAge = age} void display () {System.out.println (studentName + '-' + studentAge + '-' + 'Member' + member)} public static void main (String args []) {Edureka obj = new Edureka ('Manan', 21) obj.display ()}}

Výstup: Manan - 21 - člen ANO

Ve výše uvedeném příkladu při vyvolání parametrizovaného konstruktoru nejprve volá výchozí konstruktor pomocí tohoto klíčového slova (). Výchozí konstruktor inicializuje proměnnou „člena“ na „ANO“ a poté pokračuje v provádění parametrizovaného konstruktoru.

Přetížení konstruktéra

Konstruktor podporuje přetížení metody stejně jako kterákoli jiná třída. Na základě různých typů nebo počtu argumentů budou volány různé konstruktory.

Příklad ilustrující přetížení konstruktoru:

veřejná třída Obdélník {int délka int šířka Šířka barva řetězce // konstruktor 1 Obdélník (int l, int b) {délka = l šířka = b barva = 'Zelená'} // konstruktor 2 Obdélník (int l, int b, řetězec c) {length = l width = b color = c} void display () {System.out.println ('Délka-' + délka + 'Šířka-' + šířka + 'Barva' + barva)} public static void main (String args [ ]) {Rectangle obj1 = new Rectangle (2,4) Rectangle obj2 = new Rectangle (2,4, 'Green') obj1.display () obj2.display ()}}
 Výstup: Délka - 2 Šířka - 4 Barva - ZelenáDélka - 2 Šířka - 4 Barva - Červená

Nyní, když máte přehled o tom, co jsou konstruktéři a jak s nimi pracovat, jste o krok blíže na vaší cestě k učení jazyka Java. Koncepty jako konstruktory jsou jednoduché, ale jsou nesmírně důležité, protože zahrnují třídy a objekty. Chcete-li získat podrobnější témata a zábavná čtení, zaregistrujte se u Edureky . Neváhejte vyzkoušet naše nastartovat učení.

Máte na nás dotaz? uveďte to prosím v sekci komentářů v tomto článku „Parameterized Constructor in Java“ a my se vám ozveme co nejdříve.