Introduktion til Constructor og Destructor i Java

Den følgende artikel Konstruktør og Destructor i Java giver en detaljeret oversigt over oprettelsen af ​​konstruktør og destruktor i Java. Hvert programmeringssprog har dette koncept kaldet konstruktør og destruktør. Java er et objektorienteret programmeringssprog. Hvis du kender de objektorienterede koncepter, vil det være fordelagtigt for dig at forstå det mere tydeligt. En konstruktør er noget, der initialiserer genstande, og destruktører skal ødelægge initialiseringen. Java har automatisk indsamling af affald, der brugte mærke og fejning af algoritmen.

Hvad er Constructor og Destructor i Java?

En konstruktør bruges til at initialisere en variabel, der betyder, at den tildeler hukommelse til den samme. En konstruktør er intet andet end automatisk initialisering af objektet. Hver gang programmet opretter et objekt på det tidspunkt kaldes konstruktøren automatisk. Du behøver ikke at kalde denne metode eksplicit. Destructor bruges til at frigøre den hukommelse, der er tildelt under initialisering. Generelt i java behøver vi ikke at kalde destruktøren eksplicit. Java har en funktion af automatisk indsamling af skrald.

Hvorfor har vi brug for konstruktør og Destructor i Java?

Konstruktør og destruktor bruges hovedsageligt til at håndtere hukommelsesallokering og -deallokering effektivt. Konstruktør og destruktor spiller en meget vigtig rolle i ethvert programmeringssprog ved initialisering og destruktion efter brug for at frigøre hukommelsesområdet.

Sådan fungerer konstruktør og destruktør i Java

En konstruktør er bare en metode i java. Som har samme navn som klassens navn. konstruktormetoden har ikke nogen returtype til den.

Se på følgende eksempel for at få mere klarhed:

class Employee (
Employee() (
)
)

Hvis du ser i ovenstående eksempel, har vi ikke givet nogen returtype som int eller annulleret til metoden, der har samme navn som et klassens navn.

Det bruges hovedsageligt til at initialisere objektet. Når vi opretter et objekt fra en klasse på det tidspunkt, bliver konstruktøren påberåbt.

Det vil være mere tydeligt med følgende kodestykker.

Hvordan oprettes konstruktører og destruktører i java?

Se på følgende eksempel

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

Typer af konstruktør

Der er to typer konstruktører afhængigt af den type, vi kan tilføje og fjerne variabler.

1. Standardkonstruktør

2. Parameteriseret konstruktør

Med dette vil vi også se overbelastning af konstruktører.

1. Standardkonstruktør

Dette er den ene type konstruktør. Som standard uden parametre finder denne konstruktør sted. Denne konstruktør har ikke nogen parametre i sig.

Eksempel:

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

2. Parameteriseret konstruktør

Som navnet antyder, har parameteriseret konstruktør nogle parametre eller argumenter på tidspunktet for initialisering af objektet.

Eksempel:

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

Arealet af pladsen er 200

Nu er det tid til at tale om overbelastning af konstruktører i java. Dette betyder, at have flere konstruktører med forskellige parametre. Så med dette kan hver konstruktør udføre forskellige opgaver. Undertiden er det nødvendigt at initialisere konstruktører på forskellige måder.

Eksempel

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:

Produktnavn Datoer

Produktmængde er 500

Produkt pris er 50

Produktnavn cashu

Produktmængde er 80

Produkt pris er 800

Prøv ovenstående program, så vil du være klar over, hvad der præcist sker med overbelastning af konstruktører.

Destructor

Før jeg begynder at tale om destruktor, lad mig fortælle dig, at der ikke er nogen destruktor i java. Destructor er i C ++ programmeringssprog. Hvis vi taler om java, så har java en funktion kaldet automatisk affaldsopsamler. Hvilket frigør den dynamisk allokerede hukommelse, når der ikke er nogen brug. Dette koncept er meget vigtigt, og du kan udforske mere om denne skraldesamling i java.

  • Java bruger garb-indsamlingsteknikken til hukommelsestildeling automatisk.
  • Der er ikke behov for eksplicit brug af destruktorer som C ++.
  • For tildeling af hukommelse i java har vi ikke malloc-funktion som i C-programmering.
  • Den samme proces med allokering af hukommelse udføres af den nye operatør i java.
  • nyt nøgleord tildeler hukommelsesplads til et objekt i bunkehukommelsen.
  • På tidspunktet for programudførelse tildeler et nyt nøgleord noget hukommelsesområde til objektet. Slutbruger er nødt til at bekymre sig om dette, da hukommelsestildeling håndteres af programmet. På det tidspunkt, hvor objektet, der bruges i programmer udført med arbejdet, bruges hukommelsen til objektet til en anden opgave. Denne proces med at udnytte hukommelsen effektivt er jobbet med indsamling af skrald i java.

Lad os tale om destruktor. Som vi ved, er der ingen ødelæggere i java, da den har færdiggjort () -metoden til at gøre det. Følgende er nogle af de vigtigste punkter, der skal bemærkes.

Færdiggør () metoder

  • Færdiggørelsesmetode er arbejde som destruktor og modsat konstruktøren, som vi har set tidligere.
  • Generelt bruges færdiggørelsesmetoden til at fjerne objektet.
  • For at bruge denne metode skal vi eksplicit definere denne metode i java.
  • Færdiggørelsesmetoden begynder at arbejde efter indsamling af skrald, der er gjort med sit arbejde.
  • Dette betyder simpelthen, at efter at have frigjort hukommelsesplads ved at omfordele hukommelsesplads fra objekter, er der chancer for, at hukommelsesudnyttelse stadig er der med andre ting som skrifttyper osv. For at slette den hukommelsesplads eller for at frigøre det rum, vi bruger finalize () -metoden.

Konklusion

Konstruktør og destruktor (affaldsopsamling i java) er meget vigtige ting for at blive tydelige i ethvert programmeringssprog, da dette er starten, hvor du faktisk kan få, hvordan tingene gøres i baggrunden for at styre hukommelsesområdet.

Anbefalede artikler

Dette er en guide til Constructor og Destructor i Java. Her diskuterer vi introduktionen til Constructor and Destructor, Hvorfor har vi brug for det, og hvordan konstruktøren og destruktoren fungerer i java sammen med et eksempel. Du kan også se på de følgende artikler for at lære mere -

  1. Bitmanipulation i Java
  2. Bedste Java IDE
  3. Heap sortering i Java
  4. Hvad er Java-interface?
  5. Hvad er konstruktør og Destructor i C ++?
  6. Eksempler på implementering af Heap Sort i Python
  7. Vejledning til Destructor i PHP med eksempler

Kategori: