Einführung in Konstruktor und Destruktor in Java

Der folgende Artikel Konstruktor und Destruktor in Java enthält eine detaillierte Übersicht über die Erstellung von Konstruktor und Destruktor in Java. Jede Programmiersprache hat dieses Konzept als Konstruktor und Destruktor. Java ist eine objektorientierte Programmiersprache. Wenn Sie die objektorientierten Konzepte kennen, ist es für Sie von Vorteil, sie klarer zu verstehen. Ein Konstruktor initialisiert Objekte und Destruktoren zerstören diese Initialisierung. Java hat eine automatische Speicherbereinigung, die den Algorithmus von mark und sweep verwendet.

Was ist Konstruktor und Destruktor in Java?

Ein Konstruktor wird verwendet, um eine Variable zu initialisieren, dh, er reserviert Speicher für dieselbe. Ein Konstruktor ist nichts anderes als eine automatische Initialisierung des Objekts. Immer wenn das Programm zu diesem Zeitpunkt ein Objekt erstellt, wird der Konstruktor automatisch aufgerufen. Sie müssen diese Methode nicht explizit aufrufen. Der Destruktor wird verwendet, um den während der Initialisierung zugewiesenen Speicher freizugeben. Im Allgemeinen müssen wir in Java den Destruktor nicht explizit aufrufen. Java verfügt über eine Funktion zur automatischen Speicherbereinigung.

Warum brauchen wir Konstruktor und Destruktor in Java?

Konstruktor und Destruktor werden hauptsächlich verwendet, um die Speicherzuweisung und -freigabe effizient zu handhaben. Konstruktor und Destruktor spielen in jeder Programmiersprache eine sehr wichtige Rolle, wenn es darum geht, sie nach der Verwendung zu initialisieren und zu zerstören, um Speicherplatz freizugeben.

Funktionsweise von Konstruktor und Destruktor in Java

Ein Konstruktor ist in Java nur eine Methode. Welches hat den gleichen Namen wie der Klassenname. Die Konstruktormethode hat keinen Rückgabetyp.

Schauen Sie sich das folgende Beispiel für mehr Klarheit an:

class Employee (
Employee() (
)
)

Wenn Sie im obigen Beispiel sehen, haben wir der Methode, die denselben Namen wie ein Klassenname hat, keinen Rückgabetyp wie int oder void gegeben.

Es wird hauptsächlich zum Initialisieren des Objekts verwendet. Wenn wir zu diesem Zeitpunkt ein Objekt einer Klasse erstellen, wird der Konstruktor aufgerufen.

Dies wird mit dem folgenden Codeausschnitt klarer.

Wie erstelle ich Konstruktoren und Destruktoren in Java?

Schauen Sie sich das folgende Beispiel an

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

Arten von Konstruktoren

Es gibt zwei Arten von Konstruktoren, je nachdem, welchen Typ wir Variablen hinzufügen und entfernen können.

1. Standardkonstruktor

2. Parametrisierter Konstruktor

Damit werden wir auch eine Überladung der Konstruktoren sehen.

1. Standardkonstruktor

Dies ist der eine Konstruktortyp. Dieser Konstruktor wird standardmäßig ohne Parameter ausgeführt. Dieser Konstruktor enthält keine Parameter.

Beispiel:

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

2. Parametrisierter Konstruktor

Wie der Name vermuten lässt, verfügt der parametrisierte Konstruktor zum Zeitpunkt der Initialisierung des Objekts über einige Parameter oder Argumente.

Beispiel:

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

Ausgabe:

Java Cal

Die Fläche des Platzes beträgt 200

Jetzt ist es an der Zeit, über das Überladen von Konstruktoren in Java zu sprechen. Dies bedeutet, dass mehrere Konstruktoren mit unterschiedlichen Parametern vorhanden sind. Somit kann jeder Konstruktor unterschiedliche Aufgaben ausführen. Manchmal müssen wir Konstruktoren je nach Anforderung auf verschiedene Arten initialisieren.

Beispiel

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

Ausgabe:

Produktname Daten

Produktmenge ist 500

Der Produktpreis beträgt 50

Produktname cashu

Produktmenge ist 80

Der Produktpreis beträgt 800

Probieren Sie das obige Programm aus und Sie werden verstehen, was genau mit dem Überladen des Konstruktors passiert.

Zerstörer

Bevor ich über Destruktor spreche, möchte ich Ihnen sagen, dass es in Java keinen Destruktor gibt. Destruktor ist in der Programmiersprache C ++. Wenn wir über Java sprechen, dann hat Java eine Funktion namens automatischer Garbage Collector. Dadurch wird der dynamisch zugewiesene Speicher freigegeben, wenn er nicht verwendet wird. Dieses Konzept ist sehr wichtig und Sie können mehr über diese Garbage Collection in Java erfahren.

  • Java verwendet die Garb Collection-Technik für die automatische Speicherzuweisung.
  • Destruktoren wie C ++ müssen nicht explizit verwendet werden.
  • Für die Zuweisung von Speicher in Java haben wir keine Malloc-Funktion wie in der C-Programmierung.
  • Der gleiche Vorgang zum Zuweisen von Speicher wird vom neuen Operator in Java ausgeführt.
  • neues Schlüsselwort reserviert Speicherplatz für ein Objekt im Heapspeicher.
  • Zum Zeitpunkt der Programmausführung weist ein neues Schlüsselwort dem Objekt Speicherplatz zu. Der Endbenutzer muss sich darüber Gedanken machen, da die Speicherzuweisung vom Programm vorgenommen wird. Zu dem Zeitpunkt, an dem das Objekt in Programmen verwendet wird, die mit der Arbeit fertig sind, wird der für das Objekt verwendete Speicher für eine andere Aufgabe verwendet. Dieser Prozess der effizienten Nutzung des Speichers ist die Aufgabe der Garbage Collection in Java.

Sprechen wir dann über Destruktor. Wie wir wissen, gibt es in Java keinen Destruktor, da er die finalize () -Methode hat, um dies zu tun. Im Folgenden sind einige wichtige Punkte aufgeführt, die zu beachten sind.

Finalize () Methoden

  • Die Finalize-Methode ist wie der Destruktor und das Gegenteil des Konstruktors, wie wir bereits gesehen haben.
  • Im Allgemeinen wird die Methode finalize verwendet, um das Objekt zu entfernen.
  • Für die Verwendung dieser Methode müssen wir diese Methode explizit in Java definieren.
  • Die finalize-Methode beginnt zu arbeiten, nachdem die Garbage Collection mit ihrer Arbeit abgeschlossen wurde.
  • Dies bedeutet einfach, dass nach der Freigabe des Speicherplatzes durch Freigabe des Speicherplatzes von Objekten die Möglichkeit besteht, dass die Speichernutzung mit anderen Dingen wie Schriftarten usw. noch vorhanden ist, um diesen Speicherplatz zu löschen oder diesen Speicherplatz freizugeben. Verwenden Sie hierzu die Methode finalize ().

Fazit

Konstruktor und Destruktor (Garbage Collection in Java) sind sehr wichtige Dinge, um in jeder Programmiersprache klar zu werden, da dies der Anfang ist, an dem Sie tatsächlich sehen können, wie die Dinge im Hintergrund ausgeführt werden, um den Speicherplatz zu verwalten.

Empfohlene Artikel

Dies ist eine Anleitung zum Konstruktor und Destruktor in Java. Hier diskutieren wir die Einführung in Konstruktor und Destruktor, warum wir es brauchen und wie der Konstruktor und Destruktor in Java zusammen mit einem Beispiel funktionieren. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Bit-Manipulation in Java
  2. Beste Java IDE
  3. Heap-Sortierung in Java
  4. Was ist Java Interface?
  5. Was ist Konstruktor und Destruktor in C ++?
  6. Beispiele für die Implementierung der Heap-Sortierung in Python
  7. Anleitung zum Destruktor in PHP mit Beispielen