Konstruktør i Java - Forskellige typer konstruktører med eksempler

Indholdsfortegnelse:

Anonim

Introduktion til Constructor i Java

Konstruktører i Java er specielle typer metoder, der bruges til at initialisere objekterne i klassen. Konstruktører kaldes på tidspunktet for objektoprettelse af klasse. Ligesom metoder, selvom de har et sæt kodelinjer, er de ganske forskellige fra dem. Konstruktører har samme navn som Java-klassen, men den har ikke nogen returtype. I Java oprettes et nyt () nøgleord, der bruges til at oprette et objekt, og hver gang der oprettes et nyt objekt og en konstruktør kaldes. Konstruktøren kaldes, når hukommelsen er tildelt objektet. På tidspunktet for objektskabelse bruges konstruktører til at initialisere værdierne af klassevariabler til enten standard eller de ønskede.

Hvis brugeren ikke opretter nogen konstruktør i programmet, opretter Java selv en standardkonstruktør til det og tildeler standardværdier til de forskellige objekter som for den numeriske standardværdi er 0, for et tegn ('\ 0') og referencevariabler som null . Ligesom metoder kan konstruktører overbelastes, dvs. en enkelt klasse kan have mange konstruktører, hvis alle har en unik underskrift.

Den grundlæggende syntaks for Constructor i Java er givet nedenfor:

Syntaks

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

I ovenstående syntaks er Student () navnet på konstruktøren, der er det samme som navnet på klassen, og objekterne i Java oprettes ved hjælp af nøgleordet nyt.

Hvordan fungerer Constructor i Java?

For at forstå brugen af ​​konstruktører i Java, lad os tage et eksempel givet nedenfor:

Kode

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

Produktion

I ovenstående eksempel har vi forekomstvariabler (klassevariabler). Rulle nr og navn og st Er navnet på det objekt, der er oprettet af klassen Student. Når objektet st oprettes, påkalder det konstruktøren Student og initialiserer klassevariabler med rollno-værdien som 12 og navn som 'Ananya', ellers vil standardværdier som 0 for rollno og null for navnet blive tildelt til variablerne. Efter at have tildelt værdierne og udskrive dem, udskrives der derfor studentnavnet som Ananya og Student rollno som 12.

Typer af konstruktører i Java

Der er 2 typer konstruktører i Java baseret på parametre:

1. Ikke-parametriseret / Ingen argumenter Konstruktør

Når vi ikke videregiver argumenter i konstruktøren, er den konstruktør kendt som en ikke-parameteriseret eller ingen-argument konstruktør. Når programmereren ikke definerer nogen konstruktør i Java-programmet, tilføjer selv Java-kompilatoren en konstruktør i det, kendt som standardkonstruktør, der leverer standardværdier til objektet som 0, null osv. Standardkonstruktøren er ingen speciel konstruktortype men falder inden for kategorien uden argumenter-konstruktør.

Eksempel (standardkonstruktør)

Kode

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

Produktion:

I ovenstående eksempel er dette ingen konstruktør defineret af programmereren, så compileren vil behandle dette program som:

Kode

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

Eksempel (ikke-parameteriseret konstruktør)

Kode

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

Produktion:

Som i ovenstående eksempel er der for konstruktøren DemoProgram () ingen argumenter videregivet, kun meddelelsen udskrives, og derfor er den kendt som No-argument constructor.

2. Parameteriseret konstruktør

Parameteriserede konstruktører er de konstruktører, hvor vi videregiver argumenterne eller parametrene. I denne konstruktør passeres værdier på tidspunktet for objektskabelse.

Eksempel (Parameteriserede konstruktører)

Kode

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

Produktion:

I ovenstående eksempel tildeles værdi 4 til benene, og strengen "bue bue" tildeles lyden i konstruktør Animal. Så når metodedisplayet kaldes, udskrives begge værdier i output.

Vigtige punkter at huske

  • Hver klasse har en konstruktør, uanset om programmereren opretter den eller ej.
  • Konstruktørens navn skal være det samme som klassens navn.
  • Konstruktøren har ingen returtype i modsætning til metoder.
  • dette () og super () nøgleord skal være den første sætning i en konstruktør.
  • Ligesom metoder kan konstruktører overbelastes.
  • Konstruktører kan ikke tilsidesættes.
  • En konstruktør kan påberåbe sig en anden konstruktør i samme klasse ved hjælp af nøgleordet denne ().
  • Adgangsspecifikatorer / modifikatorer kan anvendes før konstruktørens navn for at erklære omfanget af det i en klasse.
  • I Java kan en konstruktør aldrig være statisk, endelig, abstrakt og synkroniseret.

Konklusion

Konstruktører spiller en vigtig rolle, når det gælder arbejde med Java-programmeringssprog. Man skal have brug for at forstå de fulde koncepter med konstruktør, forskellige typer konstruktører, konstruktorkæder, nøgleordet super (), der bruges til at kalde den overordnede konstruktør til at arbejde i henhold til det specifikke scenarie. Selvom det er meget let at arbejde med konstruktører i Java som at arbejde med metoder, men der er få punkter, der er specifikke for konstruktører, der skal læres grundigt.

Anbefalet artikel

Dette er en guide til konstruktøren i java. Her diskuterer vi hvordan konstruktør fungerer i java sammen med typer og eksempler med passende kodeimplementering. Du kan også gennemgå vores foreslåede artikler for at lære mere-

  1. Konstruktør i JavaScript og typer
  2. Introduktion til konstruktør i Python
  3. Konstruktør i C ++ og typer
  4. Konstruktør i PHP (eksempler)