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-
- Konstruktør i JavaScript og typer
- Introduktion til konstruktør i Python
- Konstruktør i C ++ og typer
- Konstruktør i PHP (eksempler)