Inleiding tot Constructor en Destructor in Java

Het volgende artikel Constructor en Destructor in Java biedt een gedetailleerd overzicht voor het maken van constructor en destructor in Java. Elke programmeertaal heeft dit concept dat constructor en destructor wordt genoemd. Java is een objectgeoriënteerde programmeertaal. Als u de objectgeoriënteerde concepten kent, is het nuttig dat u het beter begrijpt. Een constructor is iets dat objecten initialiseert en destructors moeten die initialisatie vernietigen. Java heeft een automatische afvalinzameling die het algoritme van mark and sweep gebruikte.

Wat is Constructor en Destructor in Java?

Een constructor wordt gebruikt om een ​​variabele te initialiseren, wat betekent dat hij geheugen toewijst voor dezelfde. Een constructor is niets anders dan automatische initialisatie van het object. Wanneer het programma op dat moment een object maakt, wordt de constructor automatisch aangeroepen. U hoeft deze methode niet expliciet aan te roepen. Destructor wordt gebruikt om dat toegewezen geheugen vrij te maken tijdens de initialisatie. Over het algemeen hoeven we in java niet expliciet de destructor aan te roepen. Java heeft een functie voor het automatisch ophalen van afval.

Waarom hebben we Constructor en Destructor nodig in Java?

Constructor en destructor meestal gebruikt om geheugentoewijzing en de-allocatie efficiënt af te handelen. Constructor en destructor spelen een belangrijke rol in elke programmeertaal door deze na gebruik te initialiseren en te vernietigen om geheugenruimte vrij te maken.

Hoe Constructor en Destructor werkt in Java

Een constructor is slechts een methode in Java. Die dezelfde naam heeft als de klassenaam. constructormethode heeft geen retourtype.

Bekijk het volgende voorbeeld voor meer duidelijkheid:

class Employee (
Employee() (
)
)

Als je in het bovenstaande voorbeeld ziet, hebben we geen retourtype gegeven zoals int of void aan de methode die dezelfde naam heeft als een klassenaam.

Het wordt hoofdzakelijk gebruikt om het object te initialiseren. Wanneer we op dat moment een object van een klasse maken, wordt de constructor aangeroepen.

Het wordt duidelijker met het volgende codefragment.

Hoe constructors en destructors in Java te maken?

Bekijk het volgende voorbeeld

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

Soorten constructor

Er zijn twee soorten constructors, afhankelijk van het type dat we variabelen kunnen toevoegen en verwijderen.

1. Standaardconstructor

2. Geparametriseerde constructor

Hiermee zien we ook overbelasting van de constructeur.

1. Standaardconstructor

Dit is het enige type constructor. Standaard zonder parameters vindt deze constructor plaats. Deze constructor bevat geen parameters.

Voorbeeld:

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

2. Geparametriseerde constructor

Zoals de naam suggereert, heeft de constructor een aantal parameters of argumenten op het moment van initialisatie van het object.

Voorbeeld:

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

Output:

java Cal

De oppervlakte van het plein is 200

Nu is het tijd om te praten over overbelasting van de constructeur in Java. Dit betekent dat het hebben van meerdere constructeurs met verschillende parameters. Hiermee kan elke constructeur verschillende taken uitvoeren. Soms moeten we volgens de vereiste constructeurs op verschillende manieren initialiseren.

Voorbeeld

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

Output:

Productnaam Datums

Product hoeveelheid is 500

Productprijs is 50

Productnaam cashu

Product hoeveelheid is 80

Productprijs is 800

Probeer het bovenstaande programma uit en u zult duidelijk zijn wat er precies gebeurt met overbelasting van de constructeur.

destructor

Voordat ik over destructor praat, wil ik je zeggen dat er geen destructor in Java is. Destructor is in C ++ programmeertaal. Als we het hebben over Java, dan heeft Java een functie genaamd automatische vuilnisman. Die het dynamisch toegewezen geheugen vrijmaken wanneer het geen zin heeft. Dit concept is erg belangrijk en je kunt meer ontdekken over deze afvalinzameling in Java.

  • Java gebruikt automatisch de garb-verzameltechniek voor geheugentoewijzing.
  • Het is niet nodig om expliciet gebruik te maken van destructors zoals C ++.
  • Voor het toewijzen van geheugen in Java hebben we geen malloc-functie zoals in C-programmering.
  • Hetzelfde toewijzingsproces wordt uitgevoerd door de nieuwe operator in Java.
  • nieuw sleutelwoord wijst geheugenruimte toe voor een object in heap-geheugen.
  • Op het moment dat het programma wordt uitgevoerd, wijst een nieuw trefwoord wat geheugenruimte toe aan het object. Eindgebruiker moet zich hier zorgen over maken omdat geheugentoewijzing door het programma wordt afgehandeld. Op het moment dat het object dat wordt gebruikt in programma's die met het werk zijn gedaan, wordt het geheugen dat voor het object wordt gebruikt, voor een andere taak gebruikt. Dit proces van efficiënt geheugengebruik is de taak van het verzamelen van afval in Java.

Laten we het dan over destructor hebben. Zoals we weten is er geen destructor in Java, omdat het hier de methode finalize () voor heeft. Hier volgen enkele van de belangrijkste aandachtspunten.

Finalize () methoden

  • De methode Finalize is zoals een destructor en het tegenovergestelde van constructor, zoals we eerder hebben gezien.
  • Over het algemeen wordt de laatste methode gebruikt om het object te verwijderen.
  • Voor het gebruik van deze methode moeten we deze methode expliciet definiëren in Java.
  • De laatste methode begint te werken nadat het verzamelen van afval klaar is met zijn werk.
  • Dit betekent eenvoudig dat na het vrijmaken van geheugenruimte door geheugenruimte van objecten te verwijderen, er kansen zijn dat geheugengebruik nog steeds aanwezig is met andere dingen zoals lettertypen enz. Om die geheugenruimte te verwijderen of om die ruimte vrij te maken, maken we gebruik van de methode finalize ().

Conclusie

Constructor en destructor (garbage collection in Java) zijn zeer belangrijke dingen om duidelijk te worden in elke programmeertaal, want dit is het begin waar u daadwerkelijk kunt krijgen hoe dingen op de achtergrond worden gedaan om geheugenruimte te beheren.

Aanbevolen artikelen

Dit is een gids voor Constructor en Destructor in Java. Hier bespreken we de inleiding tot Constructor en Destructor, waarom hebben we het nodig en hoe de constructor en destructor werken in Java samen met een voorbeeld. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Bitmanipulatie in Java
  2. Beste Java IDE
  3. Heap Sort In Java
  4. Wat is Java-interface?
  5. Wat is Constructor en Destructor in C ++?
  6. Voorbeelden om Heap Sort in Python te implementeren
  7. Gids voor Destructor in PHP met voorbeelden