Konstruktor na Javi - Različite vrste konstruktora s primjerima

Sadržaj:

Anonim

Uvod u konstruktor na Javi

Konstruktori u Javi su posebne vrste metoda koje se koriste za inicijalizaciju objekata klase. Konstruktori se nazivaju u vrijeme stvaranja predmeta klase. Baš kao i metode, iako imaju skup linija koda, prilično se razlikuju od njih. Konstruktori imaju isto ime kao i Java klasa, ali nema povratnu vrstu. U Javi je nova () ključna riječ koja se koristi za stvaranje predmeta i svaki put kada se stvori novi objekt i zove se jedan konstruktor. Konstruktor se poziva nakon što je objektu dodijeljena memorija. U vrijeme stvaranja objekta, konstruktori se koriste za inicijaliziranje vrijednosti varijabli klase u zadane ili na željene.

Ako korisnik ne stvori nijedan konstruktor u programu, Java sama kreira zadani konstruktor za njega i dodjeljuje zadane vrijednosti različitim objektima, kao što je za numerička zadana vrijednost 0, za znak ('\ 0') i referentne varijable kao nula, Poput metoda, konstruktori se mogu preopteretiti, tj. Jedna klasa može imati mnogo konstruktora ako svi imaju jedinstveni potpis.

Osnovna sintaksa Constructor-a na Javi dana je u nastavku:

Sintaksa

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

U gornjoj sintaksi Student () je ime konstruktora koje je isto kao i ime klase, a objekti u Javi stvoreni su pomoću ključne riječi new.

Kako Constructor radi na Javi?

Da bismo razumjeli rad Konstruktora na Javi, uzmimo primjer naveden u nastavku:

Kodirati

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

Izlaz

U gornjem primjeru imamo varijable instance (varijable klase). Roll ne i ime i st Je ime objekta stvorenog u razredu Student. Kad se stvori objekt st, on poziva konstruktor Student i inicijalizira varijable klase s rollno vrijednošću kao 12, a naziv kao 'Ananya', inače će zadane vrijednosti poput 0 za rollno i null za ime biti dodijeljene varijablama. Dakle, nakon dodjeljivanja vrijednosti i ispisa, ime učenika ispisuje se kao Ananya i Student rollno kao 12.

Vrste konstruktora na Javi

Postoje dvije vrste konstruktora u Javi na temelju parametara:

1. Neparametarski / Nema argumenata Konstruktor

Kad u konstruktoru ne prenosimo argumente, taj konstruktor poznat je i kao neparametizirani ili ne-argumentski konstruktor. Kada programer ne definira nijedan konstruktor u Java programu, tada Java kompajler u njega dodaje konstruktor, poznat kao zadani konstruktor koji objektu daje zadane vrijednosti poput 0, null itd. Zadani konstruktor nije posebna vrsta konstruktora ali spada u kategoriju konstruktora bez argumenata.

Primjer (zadani konstruktor)

Kodirati

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

Izlaz:

U gornjem primjeru, to nije konstruktor koji definira programer, pa će prevoditelj taj program tretirati kao:

Kodirati

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

Primjer (neparametrizirani konstruktor)

Kodirati

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

Izlaz:

Kao što je u gornjem primjeru, za konstruktor DemoProgram () ne postoje argumenti, samo je poruka ispisana i otuda je poznata kao konstruktor bez argumenata.

2. Parameterizirani konstruktor

Parameterizirani konstruktori su oni konstruktori u koje prenosimo argumente ili parametre. U ovom konstruktoru vrijednosti se prenose u trenutku stvaranja objekta.

Primjer (parametrirani konstruktori)

Kodirati

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

Izlaz:

U gornjem primjeru vrijednost 4 je dodijeljena nogama, a niz "pramčani pramčić" dodijeljen je zvuku u konstruktoru Animal. Kada se prikaže metoda prikaza obje vrijednosti se ispisuju u izlazu.

Važne točke koje morate zapamtiti

  • Svaka klasa ima konstruktora, bez obzira da li ga programer stvara ili ne.
  • Naziv konstruktora trebao bi biti isti kao i naziv klase.
  • Konstruktor nema povratni tip, za razliku od metoda.
  • ova () i super () ključna riječ moraju biti prva stavka u konstruktoru.
  • Poput metoda, konstruktori se mogu preopteretiti.
  • Konstruktori se ne mogu nadjačati.
  • Jedan konstruktor može pozvati drugog konstruktora iste klase pomoću ključne riječi this ().
  • Specifikatori modifikatora pristupa mogu se primijeniti prije naziva konstruktora kako bi se njihov opseg proglasio u klasi.
  • U Javi konstruktor nikada ne može biti statičan, konačan, apstraktiran i sinkroniziran.

Zaključak

Konstruktori igraju važnu ulogu kada je u pitanju rad s Java programskim jezikom. Morate razumjeti cjelovite koncepte Construktora, razne vrste konstruktora, Constructor Chaining, super () ključne riječi koja se koristi da biste pozvali roditeljski konstruktor da radi prema specifičnom scenariju. Iako je na Javi raditi s konstruktorima vrlo je jednostavno poput rada s metodama, ali postoji nekoliko točaka specifičnih za konstruktore kojih bi se trebalo temeljito naučiti.

Preporučeni članak

Ovo je vodič za konstruktora u Javi. Ovdje ćemo razgovarati o tome kako konstruktor djeluje u Javi, zajedno s vrstama i primjerima s odgovarajućom implementacijom koda. također možete proći kroz naše predložene članke da biste saznali više -

  1. Konstruktor u JavaScript i vrste
  2. Uvod u Konstruktor na Pythonu
  3. Konstruktor u C ++ i tipovima
  4. Konstruktor u PHP-u (primjeri)