Introduktion till konstruktör och destruktor i Java

Följande artikel Konstruktör och Destructor i Java ger en detaljerad beskrivning för skapandet av konstruktör och destruktor i Java. Varje programmeringsspråk har detta koncept som kallas konstruktör och destruktor. Java är ett objektorienterat programmeringsspråk. Om du känner till de objektorienterade koncepten kommer det att vara fördelaktigt för dig att förstå det tydligare. En konstruktör är något som initialiserar objekt och förstörare är att förstöra den initialiseringen. Java har automatisk skräppassning som använde märke och svep algoritm.

Vad är Constructor and Destructor i Java?

En konstruktör används för att initialisera en variabel som innebär att den allokerar minne för samma. En konstruktör är inget annat än automatisk initialisering av objektet. När programmet skapar ett objekt vid den tiden kallas konstruktören automatiskt. Du behöver inte kalla den här metoden uttryckligen. Destructor används för att frigöra det minne som tilldelats vid initialisering. I java behöver vi generellt inte ringa förstöraren uttryckligen. Java har en funktion i automatisk skräppassning.

Varför behöver vi konstruktör och destruktor i Java?

Konstruktör och destruktor används oftast för att hantera minnesallokering och avdelning effektivt. Konstruktör och destruktor spelar en mycket viktig roll i alla programmeringsspråk för att initialisera och förstöra det efter användning för att frigöra minnesutrymmet.

Hur Konstruktör och Destructor fungerar i Java

En konstruktör är bara en metod i java. Som har samma namn som klassnamnet. konstruktormetoden har ingen returtyp till den.

Titta på följande exempel för mer tydlighet:

class Employee (
Employee() (
)
)

Om du ser i exemplet ovan har vi inte gett någon returtyp som int eller ogiltig till metoden som har samma namn som ett klassnamn.

Det används främst för att initialisera objektet. När vi skapar ett objekt av en klass vid den tiden blir konstruktören åberopad.

Det blir tydligare med följande kodavsnitt.

Hur skapar jag konstruktörer och destruktorer i java?

Titta på följande exempel

class Employee (
Employee() ( //This is constructor. It has same name as class name.
System.out.println(“This is the default constructor”);
)
)

Typer av konstruktör

Det finns två typer av konstruktörer beroende på vilken typ vi kan lägga till och ta bort variabler.

1. Standardkonstruktör

2. Parameteriserad konstruktör

Med detta kommer vi också att se konstruktörens överbelastning.

1. Standardkonstruktör

Detta är en typ av konstruktör. Som standard utan några parametrar sker denna konstruktör. Denna konstruktör har inga parametrar i den.

Exempel:

Class Abc(
Abc()(
System.out.println(“This is the example of default constructor.”);
)
)

2. Parameteriserad konstruktör

Som namnet antyder har parametrerad konstruktör några parametrar eller argument vid initieringen av objektet.

Exempel:

class Square(
int width, height;
Square( int a, int b)(
width = a;
height = b;
)
int area()(
return width * height;
)
)
class Cal(
public static void main(String() args)(
(
Square s1 = new Square(10, 20);
int area_of_sqaure = s1.area();
System.out.println("The area of square is:" + area_of_sqaure);
)
)
)

Produktion:

java Cal

Området på torget är 200

Nu är det dags att prata om överbelastning av konstruktörer i java. Detta innebär att ha flera konstruktörer med olika parametrar. Så med detta kan varje konstruktör utföra olika uppgifter. Ibland måste vi, enligt kravet, initiera konstruktörer på olika sätt.

Exempel

public class Abc(
String name;
int quantity;
int price;
Abc( String n1, int q1, int p1)(
name = n1;
quantity = q1;
price = p1;
)
Abc( String n2, int p2)(
name = n2;
price = p2;
quantity = price/10;
)
void display()(
System.out.println("Product Name"+ name);
System.out.println("Product quantity is"+ quantity);
System.out.println("Product price is:"+ price);
)
public static void main(String() args)(
Abc product1;
product1 = new Abc("Dates", 500, 50);
product1.display();
product1 = new Abc("cashu", 800);
product1.display();
)
)

Produktion:

Produktnamn Datum

Produktkvantitet är 500

Produktpriset är 50

Produktnamn cashu

Produktkvantitet är 80

Produktpriset är 800

Testa ovanstående program så kommer du att vara tydlig vad som exakt händer med konstruktörens överbelastning.

destructor

Innan jag börjar prata om destruktor, låt mig säga att det inte finns någon destruktor i java. Destructor är på C ++ programmeringsspråk. Om vi ​​talar om java så har java en funktion som kallas automatisk sopor. Vilket frigör det dynamiskt tilldelade minnet när det inte används. Det här konceptet är mycket viktigt och du kan utforska mer om denna sopsamling i java.

  • Java använder garb-insamlingstekniken för minnesallokering automatiskt.
  • Det finns inget behov av att uttryckligen använda destruktorer som C ++.
  • För att tilldela minne i java har vi inte malloc-funktion som i C-programmering.
  • Samma process för tilldelning av minne görs av den nya operatören i java.
  • nytt nyckelord tilldelar minnesutrymme för ett objekt i högminnet.
  • Vid tidpunkten för programutförandet tilldelar ett nytt nyckelord lite minne utrymme för objektet. Slutanvändaren behöver oroa sig för detta eftersom minnesallokering hanteras av programmet. Vid den tidpunkt då objektet som används i program som utförs med arbetet används minnet som används för objektet för en annan uppgift. Denna process för att utnyttja minnet effektivt är jobbet med skräppassning i java.

Låt oss prata om förstörare då. Som vi vet finns det ingen destruktor i java eftersom den har slutfört () metoden för att göra det. Följande är några av de viktigaste punkterna som ska noteras.

Slutföra () metoder

  • Avsluta metoden är arbete som destruktor och motsatt konstruktör som vi har sett tidigare.
  • I allmänhet används slutföringsmetoden för att ta bort objektet.
  • För att använda denna metod måste vi uttryckligen definiera denna metod i java.
  • Slutföringsmetoden börjar fungera efter att skräp har samlats in med sitt arbete.
  • Detta betyder helt enkelt att efter att ha frigjort minnesutrymme genom att omlokalisera minnesutrymme från objekt finns det chanser att minnesanvändning fortfarande finns där med andra saker som teckensnitt etc. för att ta bort det minnesutrymmet eller för att frigöra det utrymmet som vi använder finalisera () -metoden.

Slutsats

Konstruktör och destruktor (skräpsamling i java) är mycket viktiga saker för att bli tydliga på alla programmeringsspråk eftersom det här är början där du faktiskt kan få hur saker görs i bakgrunden för att hantera minnesutrymme.

Rekommenderade artiklar

Detta är en guide till Constructor och Destructor i Java. Här diskuterar vi introduktionen till Constructor and Destructor, Varför behöver vi det och hur konstruktören och destruktorn fungerar i java tillsammans med ett exempel. Du kan också titta på följande artiklar för att lära dig mer -

  1. Bitmanipulation i Java
  2. Bästa Java IDE
  3. Heap Sort In Java
  4. Vad är Java-gränssnitt?
  5. Vad är Constructor and Destructor i C ++?
  6. Exempel på Implement Heap Sort i Python
  7. Guide till Destructor i PHP med exempel

Kategori: