Introduksjon til Constructor and Destructor i Java

Følgende artikkel Constructor and Destructor i Java gir en detaljert oversikt for oppretting av konstruktør og destructor i Java. Hvert programmeringsspråk har dette konseptet som kalles konstruktør og destruktør. Java er et objektorientert programmeringsspråk. Hvis du kjenner de objektorienterte konseptene, vil det være fordelaktig for deg å forstå det tydeligere. En konstruktør er noe som initialiserer objekter og destruktører er å ødelegge initialiseringen. Java har automatisk søppelinnsamling som brukte merke og feie algoritmen.

Hva er konstruktør og ødelegger i Java?

En konstruktør brukes til å initialisere en variabel som betyr at den tildeler minne for den samme. En konstruktør er ikke annet enn automatisk initialisering av objektet. Hver gang programmet oppretter et objekt på det tidspunktet blir konstruktøren ringt automatisk. Du trenger ikke å kalle denne metoden eksplisitt. Destructor brukes til å frigjøre minnet som er tildelt under initialisering. Generelt, i java, trenger vi ikke å ringe ødeleggeren eksplisitt. Java har en funksjon i automatisk søppelinnsamling.

Hvorfor trenger vi konstruktør og ødelegger i Java?

Konstruktør og destruktor brukes hovedsakelig til å håndtere minnetildeling og avfordeling effektivt. Konstruktør og destruktor spiller en veldig viktig rolle i ethvert programmeringsspråk for å initialisere og ødelegge det etter bruk for å frigjøre minneområdet.

Hvordan konstruktør og ødelegger fungerer i Java

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

Se på følgende eksempel for mer klarhet:

class Employee (
Employee() (
)
)

Hvis du ser i eksemplet ovenfor, har vi ikke gitt noen returtype som int eller ugyldig til metoden som har samme navn som et klassens navn.

Det brukes hovedsakelig til å initialisere objektet. Når vi oppretter et objekt av en klasse på det tidspunktet, blir konstruktøren påberopt.

Det blir tydeligere med følgende kodebit.

Hvordan lage 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 konstruktør

Det er to typer konstruktører avhengig av hvilken type vi kan legge til og fjerne variabler.

1. Standardkonstruktør

2. Parameterisert konstruktør

Med dette skal vi også se overbelastning av konstruktører.

1. Standardkonstruktør

Dette er den ene typen konstruktør. Som standard uten noen parametere, finner denne konstruktøren sted. Denne konstruktøren har ingen parametere i seg.

Eksempel:

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

2. Parameterisert konstruktør

Som navnet antyder har parameteriserte konstruktører noen parametere eller argumenter på tidspunktet for å initialisere 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);
)
)
)

Produksjon:

java Cal

Området til torget er 200

Nå er det på tide å snakke om overbelastning av konstruktører i java. Dette betyr at det å ha flere konstruktører med forskjellige parametere. Så med dette kan hver konstruktør utføre forskjellige oppgaver. Noen ganger, i henhold til kravet, må vi initialisere konstruktører på forskjellige måter.

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

Produksjon:

Produktnavn Datoer

Produktmengde er 500

Produktpris er 50

Produktnavn cashu

Produktmengde er 80

Produktpris er 800

Prøv ut ovennevnte program, så vil du være tydelig på hva som skjer med overbelastning av konstruktører.

Destructor

Før jeg begynner å snakke om destruktor, la meg si at det ikke er noen ødelegger i java. Destructor er på C ++ programmeringsspråk. Hvis vi snakker om java, så har java en funksjon som kalles automatisk søppeloppsamler. Som frigjør det dynamisk tildelte minnet når det ikke er bruk. Dette konseptet er veldig viktig, og du kan utforske mer om denne søppelsamlingen i java.

  • Java bruker garb-samlingsteknikken for minnetildeling automatisk.
  • Det er ikke nødvendig å eksplisitt bruke destruktorer som C ++.
  • For tildeling av minne i java har vi ikke malloc-funksjon som i C-programmering.
  • Den samme prosessen med å tildele minne blir gjort av den nye operatøren i java.
  • nytt nøkkelord tildeler minneplass for et objekt i heapminnet.
  • På tidspunktet for programgjennomføring tildeler et nytt nøkkelord litt minneplass til objektet. Sluttbruker trenger å bekymre seg for dette da minnetildeling blir håndtert av programmet. På det tidspunktet objektet som brukes i programmer som er utført med arbeidet, brukes minnet som ble brukt til objektet til en annen oppgave. Denne prosessen med å utnytte minnet effektivt er jobben med søppelinnsamling i java.

La oss snakke om destructor da. Som vi vet er det ingen ødelegger i java, fordi den har fullført () metoden for å gjøre det. Følgende er noen av de viktigste punktene som skal bemerkes.

Fullfør () metoder

  • Fullfør metoden er arbeid som destruktør og motsatt av konstruktør som vi har sett tidligere.
  • Generelt brukes sluttføringsmetoden for å fjerne objektet.
  • For å bruke denne metoden må vi eksplisitt definere denne metoden i java.
  • Fullføringsmetoden begynner å fungere etter at søppelhenting er utført med arbeidet sitt.
  • Dette betyr ganske enkelt at etter å ha frigjort minneplass ved å omfordele minneplass fra objekter, er det sjanser for at minneutnyttelse fremdeles er der med andre ting som fonter osv. For å slette det minneområdet eller for å frigjøre den plassen vi benytter oss av finalize () -metoden.

Konklusjon

Konstruktør og destruktor (søppelinnsamling i java) er veldig viktige ting for å bli tydelig på ethvert programmeringsspråk da dette er starten der du faktisk kan få hvordan ting gjøres i bakgrunnen for å administrere minneplass.

Anbefalte artikler

Dette er en guide til Constructor and Destructor i Java. Her diskuterer vi introduksjonen til Constructor and Destructor, Hvorfor trenger vi det og hvordan konstruktøren og destruktøren fungerer i java sammen med et eksempel. Du kan også se på følgende artikler for å lære mer -

  1. Bitmanipulering i Java
  2. Beste Java IDE
  3. Heap Sort In Java
  4. Hva er Java-grensesnitt?
  5. Hva er konstruktør og ødelegger i C ++?
  6. Eksempler på Implement Heap Sort in Python
  7. Guide til Destructor i PHP med eksempler