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?
- Výchozí konstruktor vs parametrizovaný konstruktor
- Předávání objektů jako argumentů
- Volání výchozího konstruktoru z parametrizovaného konstruktoru
- Přetížení konstruktéra
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ří:
- Má stejný název jako název třídy
- Nemá žádný návratový typ
Typy konstruktoru
- Výchozí konstruktor
- Parametrizovaný konstruktor
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.