Kivitelező Java-ban Különböző típusú konstruktorok példákkal

Tartalomjegyzék:

Anonim

Bevezetés a Java konstruktorba

A Java konstruktorok olyan speciális módszerek, amelyeket az osztály objektumainak inicializálására használnak. A konstruktorokat az osztály tárgyainak létrehozásakor hívják. Csakúgy, mint a módszerek, bár rendelkeznek egy sor sorozatú kóddal, meglehetősen különböznek tőlük. A konstruktorok neve ugyanaz, mint a Java osztály, de nincs visszatérési típusa. A Java-ban egy új () kulcsszó, amelyet egy objektum létrehozásához használnak, és minden alkalommal, amikor új objektum készül, és egy konstruktort hívnak. Az építő hívása után a memóriát az objektumhoz hozzárendelték. Az objektum létrehozásakor a konstruktorok hozzászoktak az osztályváltozó értékeinek alapértelmezettre vagy a kívánt értékre inicializálásához.

Ha a felhasználó nem hoz létre konstruktort a programban, akkor a Java maga létrehoz alapértelmezett konstruktort, és alapértelmezett értékeket rendel hozzá a különféle objektumokhoz, például a numerikus alapértelmezett érték 0, a karakter ('\ 0') és a referenciaváltozó null értéke . A módszerekhez hasonlóan a konstruktorok is túlterhelhetők, azaz egyetlen osztályban sok konstruktor is lehet, ha mindegyik egyedi aláírással rendelkezik.

A Constructor Java szintaxisa az alábbiakban olvasható:

Szintaxis

public class Student() // name of the class
(
. . . .
. . . .
. . . .
Student() // this is Constructor with the same name of class
(
. . .
. . .
)
new Student(); // object creation and value initialization
)

A fenti szintaxisban a Student () a konstruktor neve, amely megegyezik az osztály nevével, és a Java objektumok az új kulcsszóval jönnek létre.

Hogyan működik a Constructor Java-ban?

Hogy megértsük a konstruktorok Java működését, vegyünk egy példát az alábbiakban:

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);
)
)

Kimenet

A fenti példában példányváltozók vannak (osztályváltozók). Tekercs száma és neve és st A tanuló által létrehozott objektum neve. Amikor az st objektum létrehozásra kerül, meghívja a konstruktor Student-t, és az osztályváltozókat inicializálja a rollno értékkel 12-nél, és névvel „Ananya” -ként, különben az alapértelmezett értékek, mint például a rollno 0 és a név null, a változókhoz lesznek rendelve. Ezért az értékek hozzárendelése és kinyomtatása után a tanuló nevét Ananya és a Student rollno 12-ként nyomtatják ki.

A Java konstruktorok típusai

A Java-ban paraméterek alapján 2 típusú konstruktor létezik:

1. Nem paraméterezett / nincs argumentum Konstruktor

Ha nem adunk át érveket a konstruktorban, akkor ezt a konstruktort nem paraméterezett vagy argumentumok nélküli konstruktornak nevezzük. Ha a programozó nem határoz meg egyetlen konstruktort sem a Java programban, akkor a Java fordító maga hozzáad egy ehhez tartozó konstruktort, úgynevezett alapértelmezett konstruktornak, amely alapértelmezett értékeket ad az objektumnak, például 0, null stb. Az alapértelmezett konstruktor nem különleges konstruktor típus de az érvek nélküli konstruktor kategóriába tartozik.

Példa (alapértelmezett kivitelező)

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();
)
)

Kimenet:

A fenti példában ez nem egy programozó által meghatározott konstruktor, tehát a fordító ezt a programot kezeli:

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élda (nem paraméteres konstruktor)

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();
)
)

Kimenet:

Mint a fenti példában, a DemoProgram () konstruktor esetében sem adtak át argumentumokat, csak az üzenet kerül kinyomtatásra, és tehát No-argument konstruktorként ismert.

2. Paraméterezett konstruktor

A paraméterezett konstruktorok azok a konstruktorok, amelyekben átadjuk az argumentumokat vagy paramétereket. Ebben a konstruktorban az értékek átadódnak az objektum létrehozásakor.

Példa (paraméteres konstruktorok)

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();
)
)

Kimenet:

A fenti példában a 4. értéket a lábakhoz, a „íj íj” karakterláncot pedig az Animal kivitelező hangjához rendeltük. Tehát amikor a metóduskijelzést hívják, mindkét érték kinyomtatásra kerül a kimeneten.

Fontos szem előtt tartani

  • Minden osztálynak van konstruktora, függetlenül attól, hogy a programozó létrehozza-e vagy sem.
  • A kivitelező nevének meg kell egyeznie az osztály nevével.
  • A konstruktornak nincs visszatérési típusa, ellentétben a módszerekkel.
  • ennek a () és a szuper () kulcsszónak kell lennie a konstruktor első állításának.
  • A konstrukciókhoz hasonlóan a konstruktorok is túlterhelhetők.
  • A konstruktorokat nem szabad felülbírálni.
  • Az egyik kivitelező meghívhatja ugyanazon osztály másik kivitelezőjét a this () kulcsszóval.
  • A hozzáférés-meghatározók / módosítók alkalmazhatók a kivitelező neve előtt, hogy deklarálják annak hatókörét egy osztályban.
  • A Java-ban a konstruktor soha nem lehet statikus, végleges, elvont és szinkronizált.

Következtetés

A konstruktorok fontos szerepet játszanak a Java programozási nyelv használatában. Meg kell értenie a konstruktor, a konstruktorok különféle típusainak, a konstruktorok láncolásának teljes fogalmát, a szuper () kulcsszót, amelyet a szülő konstruktor meghívására használnak az adott forgatókönyv szerint. Bár a Java-ban építőkkel való együttműködés nagyon egyszerű, mint például a módszerekkel való munka, de kevés olyan pont vonatkozik a konstruktorokra, amelyeket alaposan meg kell tanulni.

Ajánlott cikk

Ez egy útmutató a java konstruktorához. Itt megvitatjuk, hogyan működik a konstruktor java-ban, a típusokkal és példákkal együtt, a megfelelő kód implementációval együtt. akkor is áttekintheti javasolt cikkeinket, hogy többet megtudjon-

  1. Konstruktor JavaScript-ben és típusokban
  2. Bevezetés a konstruktorhoz Pythonban
  3. Konstruktor C ++ és típusoknál
  4. Konstruktor a PHP-ben (példák)