JavaRush /Java-Blog /Random-DE /Kaffeepause Nr. 105. Warum sind Strings in Java unverände...

Kaffeepause Nr. 105. Warum sind Strings in Java unveränderlich? Schnittstelle in Java und Mehrfachvererbung

Veröffentlicht in der Gruppe Random-DE

Warum sind Strings in Java unveränderlich?

Quelle: Dev.to Bevor wir verstehen, warum Strings in Java unveränderlich sind, müssen wir darüber nachdenken, warum wir etwas unveränderlich machen? Kaffeepause Nr. 105.  Warum sind Strings in Java unveränderlich?  Schnittstelle in Java und Mehrfachvererbung - 1Unveränderlich bedeutet, dass wir es, sobald es erstellt wurde, nicht mehr ändern können. Der einzige Grund, warum wir daran denken können, etwas unveränderlich zu machen, ist die Synchronisierung bei gemeinsamer Verwendung. Aus diesem Grund sind Strings unveränderlich. In Java werden String- Objekte gemeinsam genutzt und im String-Pool zwischengespeichert. Es handelt sich um einen bestimmten Ort auf dem Heap, an dem Zeichenfolgen gespeichert und von mehreren Threads gemeinsam genutzt werden, wenn sie denselben Wert haben. Beispiel: Wenn in einem String-Pool bereits ein String mit dem Wert „test“ vorhanden ist und das Programm ein weiteres String-Objekt mit demselben Wert erstellen möchte, erhält es dieselbe Referenz, anstatt ein neues String-Objekt zu erstellen. Jetzt wissen wir, wie Strings auf dem Heap gespeichert werden. Mal sehen, warum sie unverändert sind.
  1. Der erste Grund für Unveränderlichkeit ist die Thread-Sicherheit. Da die Zeilen von mehreren Threads im Zeilenpool gemeinsam genutzt werden, müssen wir jeden zufälligen Thread einschränken, um sie zu ändern. Jede Änderung an einer Zeile kann sich auf andere Threads auswirken, die auf dieselbe Zeile zugreifen. Wenn ein Thread den Wert einer Zeile aktualisieren möchte, muss er eine weitere Zeile erstellen und darauf verweisen.

  2. Normalerweise verwenden wir String als Schlüssel in Map . Wenn Strings veränderbar wären, könnte jeder den Wert der Strings ändern und wir würden den eigentlichen Schlüssel verlieren.

Schnittstelle in Java und Mehrfachvererbung

Quelle: Dev.to Lassen Sie uns verstehen, was Mehrfachvererbung ist. Mehrfachvererbung ist eine Funktion einiger objektorientierter Programmiersprachen, bei der ein Objekt oder eine Klasse Funktionalität von mehr als einem übergeordneten Objekt oder einer übergeordneten Klasse erben kann. Kaffeepause Nr. 105.  Warum sind Strings in Java unveränderlich?  Schnittstelle in Java und Mehrfachvererbung - 1Wie im obigen Bild gezeigt, kann eine untergeordnete Klasse mit Mehrfachvererbung zwei oder mehr Basisklassen haben, aber um dies zu erreichen, benötigen wir eine Schnittstelle.

Schnittstelle

Eine Schnittstelle in Java ist der Bauplan einer Klasse. Es verfügt über statische Konstanten und abstrakte Methoden. Das heißt, eine Schnittstelle kann nur abstrakte Methoden und Variablen enthalten und keinen Methodenkörper haben. Sie kann nicht auf die gleiche Weise wie eine abstrakte Klasse erstellt werden.

Wo deklarieren wir also den Hauptteil dieser Methoden?

Der Hauptteil der Methode wird innerhalb der Klasse dort deklariert, wo die Methode gemäß den Anforderungen des Programmierers benötigt wird.

Wie deklariere ich eine Schnittstelle?

Eine Schnittstelle kann mit dem Schlüsselwort interface deklariert werden . Syntax:
interface interface_name {abstract methods}

Notiz

Um eine deklarierte Schnittstelle in einer Klasse zu verwenden, müssen wir das Schlüsselwort „implements“ verwenden .

Implementierung?

Zuerst erstellen wir eine Druckschnittstelle und darin eine abstrakte print()- Methode .
interface printgib{
void print();
}
Jetzt haben wir eine Schnittstelle, die von den Klassen verwendet werden kann. Erstellen wir also die Klassen abc und gk und implementieren wir die Schnittstelle in ihnen.
public class abc implements printgib{
public void print(){                     //1st implementation of print
System.out.println("I love you 3000");
}
public static void main(String[] args){
abc obj = new abc();
gk obj1 = new gk();
obj.print();
obj1.print();
}
}

class gk implements printgib{
public void print(){                   //2nd implementation of print
System.out.println("I am Gk");
}
}
Wie im obigen Code gezeigt, haben wir eine Mehrfachvererbung erreicht und eine Schnittstelle implementiert. Führen Sie nun den Code aus, speichern Sie die Datei und ...
javac file_name.java
java abc

Ergebnis:

Kaffeepause Nr. 105.  Warum sind Strings in Java unveränderlich?  Schnittstelle in Java und Mehrfachvererbung - 2
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION