Konstruktör i Java - Olika typer av konstruktörer med exempel

Innehållsförteckning:

Anonim

Introduktion till Constructor i Java

Konstruktörer i Java är speciella typer av metoder som används för att initialisera objektens klass. Konstruktörer kallas vid tidpunkten för objektskapande av klass. Precis som metoder, även om de har en uppsättning kodrader, är de helt annorlunda än dem. Konstruktörer har samma namn som Java-klassen, men den har ingen returtyp. I Java är ett nytt () nyckelord som används för att skapa ett objekt och varje gång ett nytt objekt skapas och en konstruktör kallas. Konstruktören kallas efter att minnet har allokerats till objektet. Vid tidpunkten för skapandet av objekt används konstruktörer för att initialisera värdena på klassvariabler till antingen standard eller önskade.

Om användaren inte skapar någon konstruktör i programmet skapar Java själv en standardkonstruktör för det och tilldelar standardvärden till olika objekt som för numeriskt standardvärde är 0, för ett tecken ('\ 0') och referensvariabler som noll . Liksom metoder kan konstruktörer överbelastas, dvs. en enda klass kan ha många konstruktörer om alla har en unik signatur.

Den grundläggande syntaxen för Constructor i Java ges nedan:

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
)

I ovanstående syntax är Student () namnet på konstruktören som är samma som namnet på klassen och objekten i Java skapas med nyckelordet nytt.

Hur fungerar Constructor i Java?

För att förstå hur konstruktörer fungerar i Java, låt oss ta ett exempel nedan:

Koda

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 exemplet ovan har vi instansvariabler (klassvariabler). Rulle nr och namn och st Är namnet på objektet som skapats av klassen Student. När objektet st skapas påkallar det konstruktören Student och initialiserar klassvariablerna med rollno-värdet som 12 och namnger som 'Ananya', annars kommer standardvärden som 0 för rollno och null för namnet att tilldelas variablerna. Därför trycks studentens namn som Ananya och Student rollno som 12 efter att ha tilldelat värdena och skrivit ut dem.

Typer av konstruktörer i Java

Det finns två typer av konstruktörer i Java baserat på parametrar:

1. Icke-parametriserat / Inga argument Konstruktör

När vi inte överför argument i konstruktören, är den konstruktören känd som en icke-parametrerad eller ingen-argument konstruktör. När programmeraren inte definierar någon konstruktör i Java-programmet lägger själva Java-kompilatorn en konstruktör i den, känd som standardkonstruktör som ger standardvärden till objektet som 0, null osv. Standardkonstruktören är ingen speciell konstruktortyp men tillhör kategorin ingen argumentkonstruktör.

Exempel (standardkonstruktör)

Koda

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 exemplet ovan är detta ingen konstruktör definierad av programmeraren, så kompilatorn kommer att behandla detta program som:

Koda

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

Exempel (icke-parametriserad konstruktör)

Koda

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:

Liksom i exemplet ovan, för konstruktören DemoProgram () har inga argument gått, bara meddelandet skrivs ut och därmed kallas det ingen argument-konstruktör.

2. Parameteriserad konstruktör

Parameteriserade konstruktörer är de konstruktörer där vi skickar argumenten eller parametrarna. I denna konstruktör överförs värden vid skapandet av objekt.

Exempel (parametriserade konstruktörer)

Koda

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 exemplet ovan tilldelas värdet 4 benen och strängen "båge" tilldelas ljudet i konstruktörens djur. Så när metodvisningen kallas kommer båda värdena att skrivas ut i utgången.

Viktiga punkter att komma ihåg

  • Varje klass har en konstruktör oavsett om programmeraren skapar den eller inte.
  • Konstruktörens namn ska vara samma som klassnamnet.
  • Tillverkaren har ingen returtyp, till skillnad från metoder.
  • detta () och super () sökord måste vara det första uttalandet i en konstruktör.
  • Liksom metoder kan konstruktörer överbelastas.
  • Konstruktörer kan inte åsidosättas.
  • En konstruktör kan åberopa en annan konstruktör av samma klass med nyckelordet detta ().
  • Åtkomstspecifikatorer / modifierare kan tillämpas före konstruktörens namn för att deklarera omfattningen av det i en klass.
  • I Java kan en konstruktör aldrig vara statisk, slutlig, abstrakt och synkroniserad.

Slutsats

Konstruktörer spelar en viktig roll när det gäller att arbeta med Java-programmeringsspråk. Man måste behöva förstå de fullständiga koncepten med konstruktör, olika typer av konstruktörer, konstruktörkedjning, det super () nyckelord som används för att kalla föräldrakonstruktören att arbeta enligt det specifika scenariot. Att arbeta med konstruktörer i Java är väldigt enkelt som att arbeta med metoder, men det är få punkter som är specifika för konstruktörer som bör läras noggrant.

Rekommenderad artikel

Detta är en guide till konstruktören i java. Här diskuterar vi hur konstruktör fungerar i java tillsammans med typer och exempel med lämplig kodimplementering. du kan också gå igenom våra föreslagna artiklar för att lära dig mer-

  1. Konstruktör i JavaScript och typer
  2. Introduktion till konstruktör i Python
  3. Konstruktör i C ++ och typer
  4. Konstruktör i PHP (exempel)