Úvod do konstruktoru v Javě
Konstruktory v Javě jsou speciální typy metod, které se používají k inicializaci objektů třídy. Konstruktory se nazývají v době vytváření objektů třídy. Stejně jako metody, i když mají řadu řádků kódu, jsou od nich docela odlišné. Konstruktory mají stejný název jako třída Java, ale nemají žádný návratový typ. V Javě se používá nové klíčové slovo () k vytvoření objektu a pokaždé, když se vytvoří nový objekt a zavolá se jeden konstruktor. Konstruktor je volán po přiřazení paměti k objektu. Při vytváření objektů se konstruktory používají k inicializaci hodnot proměnných třídy na výchozí nebo požadované.
Pokud uživatel nevytvoří v programu žádný konstruktor, Java pro něj vytvoří výchozí konstruktor a přiřadí výchozí hodnoty různým objektům, jako je numerická výchozí hodnota 0, pro znak ('\ 0') a referenční proměnné jako null . Stejně jako metody mohou být konstruktory přetíženy, tj. Jedna třída může mít mnoho konstruktorů, pokud mají všichni jedinečný podpis.
Základní syntaxe Constructor v Javě je uvedena níže:
Syntax
public class Student() // name of the class
(
. . . .
. . . .
. . . .
Student() // this is Constructor with the same name of class
(
. . .
. . .
)
new Student(); // object creation and value initialization
)
Ve výše uvedené syntaxi je Student () jméno konstruktoru, který je stejný jako název třídy a objekty v Javě jsou vytvářeny pomocí klíčového slova new.
Jak Constructor pracuje v Javě?
Abychom porozuměli práci konstruktorů v Javě, podívejme se na níže uvedený příklad:
Kód
public class Student()
(
int rollno;
String name;
Student(int rollno, String name)
(
this.rollno = rollno;
this.name = name;
)
public static void main(String() args)
(
Student st = new Student(12, 'Ananya');
System.out.println(“Student name = ”+ st.name + “Student rollno = ”+st.rollno);
)
)
Výstup
Ve výše uvedeném příkladu máme proměnné instance (proměnné třídy). Roll no a name and st Je název objektu vytvořeného třídy Student. Když je vytvořen objekt st, vyvolá konstruktor Student a inicializuje proměnné třídy s hodnotou rollno jako 12 a jméno jako 'Ananya', jinak budou výchozí proměnné jako 0 pro rollno a null pro jméno přiřazeny k proměnným. Po přiřazení hodnot a jejich tisku je tedy jméno studenta vytištěno jako Ananya a Student rollno jako 12.
Typy konstruktorů v Javě
Existují 2 typy konstruktorů v Javě založené na parametrech:
1. Neparametrizované / žádné argumenty Konstruktor
Když v konstruktoru nepředáme argumenty, je tento konstruktor známý jako konstruktér bez parametrů nebo bez argumentů. Pokud programátor nedefinuje v Java programu žádný konstruktor, pak kompilátor Java do něj přidá konstruktor, známý jako výchozí konstruktor, který poskytuje výchozí hodnoty objektu jako 0, null atd. Výchozí konstruktor není žádný zvláštní typ konstruktoru ale spadá do kategorie konstruktérů bez argumentů.
Příklad (výchozí konstruktor)
Kód
public class Hello()
(
String name;
void display() //method to display name the value of variables
(
System.out.println(“name is” +name);
)
)
public class HelloMain()
(
public static void main(String() args)
(
Hello h1 = new Hello();
h1.display();
)
)
Výstup:
Ve výše uvedeném příkladu to není žádný konstruktor definovaný programátorem, takže kompilátor bude tento program považovat za:
Kód
public class Hello()
(
String name;
Hello() //default constructor created by compiler
(
name = null
)
void display()
(
System.out.println(“name is” +name);
)
)
public class HelloMain()
(
public static void main(String() args)
(
Hello h1 = new Hello();
h1.display();
)
)
Příklad (Non-Parametrized Constructor)
Kód
public DemoProgram() // class
(
DemoProgram() // constructor with no arguments
(
System.out.println(“Hello this is just an example of no-arg constructor”);
)
public static void main(String() args)
(
new DermoProgram();
)
)
Výstup:
Stejně jako ve výše uvedeném příkladu pro konstruktor DemoProgram () nejsou předány žádné argumenty, vytiskne se pouze zpráva, a proto je znám jako konstruktor bez argumentů.
2. Parametrizovaný konstruktor
Parametrizované konstruktory jsou konstruktory, ve kterých předáváme argumenty nebo parametry. V tomto konstruktoru jsou hodnoty předávány v době vytváření objektu.
Příklad (Parametrizované konstruktory)
Kód
public class Animal()
(
int legs;
String sound;
Animal(int legs, String sound) // parameterized constructor
(
this.legs = legs; // values with get initialize of what is passed while object crea-this.sound = sound; // tion, ie (4, “bow bow”)
)
void display() // method to display the values
(
System.out.println(“Legs are ”+legs+“Sound is ”+sound);
)
)
class AnimalPlanet()
(
Public static void main(String() args)
(
Animal an = new Animal(4, “bow bow”);
an.display();
)
)
Výstup:
Ve výše uvedeném příkladu je hodnota 4 přiřazena nohám a řetězec „příďový luk“ je přiřazen zvuku v konstruktoru Animal. Když se tedy zobrazení metody volá, obě hodnoty se vytisknou na výstupu.
Důležité body k zapamatování
- Každá třída má konstruktor, ať už ji programátor vytvoří nebo ne.
- Název konstruktoru by měl být stejný jako název třídy.
- Konstruktor nemá na rozdíl od metod žádný návratový typ.
- toto klíčové slovo () a super () musí být prvním příkazem konstruktoru.
- Stejně jako metody mohou být konstruktory přetíženy.
- Konstruktory nelze přepsat.
- Jeden konstruktor může vyvolat jiného konstruktoru stejné třídy pomocí klíčového slova this ().
- Specifikátory / modifikátory přístupu mohou být použity před jménem konstruktoru a deklarovat jeho rozsah ve třídě.
- V Javě nemůže být konstruktor nikdy statický, finální, abstraktní a synchronizovaný.
Závěr
Konstruktory hrají důležitou roli při práci s programovacím jazykem Java. Je třeba pochopit úplné pojmy Konstruktoru, různé typy Konstruktorů, Konstruktorové řetězení, klíčové slovo super () použité k tomu, aby zavolalo nadřazeného konstruktéra, aby pracoval podle konkrétního scénáře. Přestože práce s konstruktory v Javě je velmi snadná jako práce s metodami, pro konstruktory existuje jen několik bodů, které by se měly důkladně naučit.
Doporučený článek
Toto je průvodce konstruktérem v javě. Zde diskutujeme o tom, jak konstruktor pracuje v java, spolu s typy a příklady s vhodnou implementací kódu. můžete se také podívat na naše doporučené články a dozvědět se více -
- Konstruktor v JavaScriptu a typech
- Úvod do konstruktoru v Pythonu
- Konstruktor v C ++ a typy
- Konstruktor v PHP (příklady)