Java Constructor Handledning

Java Constructor Tutorial



Konstruktörverktyget är en mycket viktig och användbar metod som används för objektorienterad programmering. Det är inte obligatoriskt att deklarera en konstruktör för någon klass, och det här verktyget används huvudsakligen för att initialisera objektet för klassen vid tidpunkten för skapandet av objekt. Konstruktören fungerar inte som andra normala metoder. Konstruktorverktyget anropas snarare automatiskt när ett objekt deklareras, och det allokerar minnesplatsen för objektet. Denna handledning visar dig hur olika typer av användardefinierade konstruktörer kan implementeras och användas i Java-klassprogrammering.

Funktioner hos Constructor

  1. Konstruktörens namn måste vara samma som klassnamnet.
  2. Returtypen är ogiltig.
  3. Konstruktören kan inte vara statisk, abstrakt och slutlig.

Typer av konstruktörer







  1. Standard
  2. Parameterlös
  3. Parameteriserad

1. Standardkonstruktör

Standardkonstruktorn skapas av Java -kompilatorn när kodaren inte deklarerar någon konstruktör för klassen och denna konstruktör inte innehåller något argument. Java -filen innehåller ingen kod för standardkonstruktorn. Standardkonstruktorkoden skapas vid tidpunkten för sammanställningen av Java -kod och lagras i .klass fil.



2. Parameterlös konstruktör

När en konstruktör deklareras utan någon parameter eller argument, kallas den en parameterlös konstruktör. En parameterlös konstruktör fungerar som en standardkonstruktör och denna konstruktör kan innehålla satser, 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 parameteriserad konstruktör. Konstruktorns parametervärden skickas vid tidpunkten för objektskapandet.





Exempel 1: Skapa en parameterlösare konstruktör

Följande kod visar hur du använder en parameterlös konstruktör. Det nämndes tidigare att konstruktormetodens namn kommer att vara detsamma som klassnamnet. Här är klassnamnet ' con1 , 'Så det parameterlösa konstruktörnamnet är' con1 () . ’Två klassvariabler,‘ namn 'Och' ålder , 'Deklareras här. Vid tidpunkten för deklarationen av objektvariabeln ‘ obj , ”Kommer konstruktören att ringas upp och ett särskilt meddelande skrivs ut. Därefter tilldelas två värden i klassvariablerna och skrivs ut senare med 'Obj' objekt.

offentlig klasscon1{

// deklarera variabler
Sträng namn;
intålder;

// Parameterlös konstruktör
con1() {
Systemet .ut.println('Konstruktör heter.');

// Initiera variablerna
namn= 'Fahim Reza';
ålder= 30;
}

// main () metod
offentlig statisk tomhethuvud( Sträng []args) {

// Skapa ett objekt
con1 obj= nycon1();

// Skriv ut värdena för objektegenskaperna
Systemet .ut.skriva ut('Åldern av ' +obj.namn + ' är ' +obj.ålder);
}
}

Produktion:



Följande bild visar kodens utmatning. Konstruktören kallas vid tidpunkten för objektskapande och meddelandet Konstruktör kallas är tryckt. Värdena för ‘ namn 'Och' ålder 'Tilldelas inuti konstruktören. Värdena för dessa variabler skrivs ut senare.

Exempel 2: Skapa en parametrerad konstruktör

Följande kod kommer att beräkna den totala lönen för en anställd baserat på grundlönen och skriva ut den övriga informationen för den anställde vid sidan av den beräknade lönen. Här deklareras sju klassvariabler. Konstruktören, som heter ' con2 () , 'Har tre parametrar. De två första 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 kommer att skickas vid tidpunkten för objektet skapas. Konstruktören initierar 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älldes namn, tjänst och lön ut.

offentlig klasscon2{

// Deklarera variabler
Sträng namn;
Sträng posta;
intGrundläggande;
dubbelHyra;
dubbelMedicinsk;
dubbelTransport;
dubbelLön;

// Parameteriserad konstruktör
con2( Sträng namn, Sträng posta,intgrundläggande) {
detta.namn =namn;
detta.posta =posta;
detta.Grundläggande =grundläggande;
detta.Hyra =grundläggande*0,3;
detta.Medicinsk =grundläggande*0,2;
detta.Transport =grundläggande*0,1;
Lön=grundläggande+Hyra+Medicinsk+Transport;
}

// main () metod
offentlig statisk tomhethuvud( Sträng []args) {

// Skapa ett objekt
con2 obj= nycon2('Mir Sabbir','Revisor',65000);

// Skriv ut värdena för objektegenskaperna
Systemet .ut.skriva ut('Anställd Namn: ' +obj.namn + ' n' + 'Inlägg:'+obj.posta +
' n' + 'Lön: TK'+obj.Lön);
}
}

Produktion:

Följande bild visar kodens utmatning. Här anges medarbetarens namn, tjänst och grundlön i uttalandet om objektskapande. Den totala lönen, namnet och posten skrivs ut här.

Exempel 3: Skapa konstruktorkedja

Det är viktigt att veta om arvsfunktionen i objektorienterad programmering för att förstå konceptet konstruktorkedja. När en ny klass skapas genom att man ärver en annan klass kallas den för arv. I detta fall är alla egenskaper hos förälder- eller basklassen tillgängliga från barnet eller den härledda klassen. När ett objekt i barnklassen skapas ringer den automatiskt konstruktören för föräldraklassen innan den kallar sin egen konstruktör. Den ‘ super() ’Metod används på andra språk för att ringa till den överordnade konstruktören, men Java -kompilatorn kallar denna metod automatiskt. Att använda konstruktörer på detta sätt kallas konstruktorkedja, och denna process visas i detta exempel. Här är föräldraklassens namn ' förälder 'Och ​​barnklassens namn är' con3 . ’Det finns en annan metod som heter‘ kombinera() 'I barnklassen som kombinerar de värden som tilldelats i förälder- och barnkonstruktörerna.

klassförälder{

// Deklarera variabel
Sträng strVal;

// Föräldrakonstruktör
förälder(){
Systemet .ut.println('Föräldrakonstruktör heter');
strVal= 'Jag gillar ';
}
}

offentlig klasscon3sträcker sigförälder{

// Deklarera variabel
Sträng childStrVal;

// Barnkonstruktör
con3(){
Systemet .ut.println('Barnkonstruktör heter');
childStrVal=strVal+ 'Java -programmering';
}

// En annan metod för att kombinera strängar
Sträng kombinera()
{
lämna tillbaka detta.childStrVal;
}

// main () metod
offentlig statisk tomhethuvud( Sträng []args) {

// Skapa ett objekt
con3 obj= nycon3();
// Skriv ut värdena för objektegenskaperna
Systemet .ut.skriva ut(obj.kombinera());
}
}

Produktion:

Följande bild visar kodens utmatning. Det första meddelandet skrivs ut från föräldrakonstruktorn, medan det andra meddelandet skrivs ut från underkonstruktorn. 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 som nybörjare kan följa. Förhoppningsvis har dessa exempel hjälpt dig att förstå grunderna i Java -konstruktör.