Funktioner av Constructor
- Namnet på konstruktören måste vara detsamma som klassnamnet.
- Returtypen är ogiltig.
- Konstruktören kan inte vara statisk, abstrakt och slutgiltig.
Typer av konstruktör
- Standard
- Parameterlös
- Parameteriserad
1. Standardkonstruktör
Standardkonstruktören skapas av Java-kompilatorn när kodaren inte förklarar någon konstruktör för klassen och den här konstruktorn inte innehåller något argument. Java-filen innehåller ingen kod för standardkonstruktören. Standardkonstruktörskoden skapas vid tidpunkten för sammanställning av Java-kod och lagras i .klass fil.
2. Parameterfri konstruktör
När en konstruktör deklareras utan någon parameter eller argument kallas den en parameterfri konstruktör. En parameterfri konstruktör fungerar som en standardkonstruktör och den här konstruktören kan innehålla uttalanden, eller så kan den vara tom.
3. Parameteriserad konstruktör
När någon konstruktör deklareras med en eller flera parametrar kallas den en parametrerad konstruktör. Parametervärdena för konstruktören skickas vid tidpunkten för objektskapandet.
Exempel 1: Skapa en parameterlös konstruktör
Följande kod visar hur man använder en parameterlös konstruktör. Det nämndes tidigare att konstruktormetodnamnet kommer att vara detsamma som klassnamnet. Här är klassnamnet 'con1,'så det parameterlösa konstruktornamnet är'con1 ()."Två klassvariabler,"namn'och'ålder,här förklaras. Vid tidpunkten för deklarationen av objektvariabeln 'obj,'konstruktören kommer att anropas och ett visst meddelande kommer att skrivas ut. Därefter tilldelas två värden i klassvariablerna och skrivs ut senare med hjälp av 'obj' objekt.
offentlig klass con1// deklarera variabler
Strängnamn;
int ålder;
// Parameterfri konstruktör
con1 ()
Systemet.ut.println ("Konstruktören kallas.");
// Initiera variablerna
name = "Fahim Reza";
ålder = 30;
// main () -metoden
public static void main (String [] args)
// Skapa ett objekt
con1 obj = ny con1 ();
// Skriv ut värdena för objektegenskaperna
Systemet.ut.print ("The age of" + obj.namn + "är" + obj.ålder);
Produktion:
Följande bild visar kodens utdata. Konstruktören kallas vid tidpunkten för skapandet av objekt och meddelandet “Konstruktör kallas”Skrivs ut. Värdena för 'namn'och'åldertilldelas inuti konstruktören. Värdena för dessa variabler skrivs ut senare.
Exempel 2: Skapa en parametrerad konstruktör
Följande kod beräknar en anställds totala lön baserat på grundlönen och skriver ut den andra informationen för den anställde tillsammans med den beräknade lönen. Här deklareras sju klassvariabler. Konstruktören, som heter 'con2 (),'har tre parametrar. De första två parametrarna tar strängvärdena i 'namn'och'posta'parametrar och den tredje parametern tar det numeriska värdet i'grundläggande'parameter. Värdena för dessa parametrar skickas vid tidpunkten för objektskapandet. Konstruktören initialiserar klassvariablerna med dessa värden och beräknar de andra värdena baserat på värdet på 'grundläggande'parameter. Därefter skrivs den anställdas namn, tjänst och lön ut.
offentlig klass con2// Deklarera variabler
Strängnamn;
Strängstolpe;
int Basic;
dubbel HouseRent;
dubbla medicinska;
dubbel transport;
dubbel lön;
// Parameteriserad konstruktör
con2 (Strängnamn, Strängpost, int grundläggande)
detta.namn = namn;
detta.post = post;
detta.Grundläggande = grundläggande;
detta.HouseRent = grundläggande * 0.3;
detta.Medicinsk = grundläggande * 0.2;
detta.Transport = grundläggande * 0.1;
Lön = grundläggande + husuthyrning + medicinsk + transport;
// main () -metoden
public static void main (String [] args)
// Skapa ett objekt
con2 obj = new con2 ("Mir Sabbir", "Accountant", 65000);
// Skriv ut värdena för objektegenskaperna
Systemet.ut.tryck ("Anställds namn:" + obj.namn + "\ n" + "Inlägg:" + obj.posta +
"\ n" + "Lön: TK" + objekt.Lön);
Produktion:
Följande bild visar kodens utdata. Här anges den anställdes namn, tjänst och grundlön i förklaringen om skapande av objekt. Den totala lönen, namnet och posten skrivs ut här.
Exempel 3: Skapa konstruktorkedja
Det är viktigt att känna till arvsfunktionen i objektorienterad programmering för att förstå begreppet konstruktorkedjning. När en ny klass skapas genom att ärva en annan klass kallas den arv. I det här fallet är alla egenskaper hos föräldrar eller basklasser tillgängliga från underordnade eller härledda klasser. När ett objekt i underklassen skapas ringer det automatiskt konstruktorn för föräldraklassen innan den anropar sin egen konstruktör. 'super()'-metoden används på andra språk för att anropa föräldrakonstruktören, men Java-kompilatorn anropar den här metoden automatiskt. Att använda konstruktörer på detta sätt kallas konstruktorkedjning, och denna process visas i detta exempel. Här är föräldraklassens namn 'förälder'och barnklassnamnet är'con3.'Det finns en annan metod som heter'kombinera()'i barnklassen som kombinerar värdena som tilldelats i föräldern och barnkonstruktörerna.
klassförälder// Deklarera variabel
SträngstrVal;
// Föräldrakonstruktör
förälder()
Systemet.ut.println ("Föräldrakonstruktör kallas");
strVal = "Jag gillar";
public class con3 utökar förälder
// Deklarera variabel
String childStrVal;
// Barnkonstruktör
con3 ()
Systemet.ut.println ("Barnkonstruktör kallas");
childStrVal = strVal + "Java-programmering";
// En annan metod för att kombinera strängar
Strängkombination ()
returnera detta.childStrVal;
// main () -metoden
public static void main (String [] args)
// Skapa ett objekt
con3 obj = ny con3 ();
// Skriv ut värdena för objektegenskaperna
Systemet.ut.skriva ut (obj.kombinera());
Produktion:
Följande bild visar kodens utdata. Det första meddelandet skrivs ut från föräldrakonstruktören, medan det andra meddelandet skrivs ut från barnkonstruktören. Det sista meddelandet skrivs ut genom att ringa 'kombinera()metod.
Slutsats
Konceptet med konstruktören och användningen av olika konstruktörer förklaras i denna handledning med hjälp av enkla Java-kodexempel för att nybörjare kan följa. Förhoppningsvis har dessa exempel hjälpt dig att förstå grunderna i Java constructor.