Heim  >  Artikel  >  Java  >  Implementierungsschritte der Kapselung in Java

Implementierungsschritte der Kapselung in Java

蓝冰凌z
蓝冰凌zOriginal
2018-05-04 11:22:213247Durchsuche

Kapselung besteht darin, die Informationen des Objekts innerhalb des Objekts zu verbergen und externen Programmen den direkten Zugriff auf die Eigenschaften und Methoden innerhalb des Objekts zu verbieten.

1. Grundtypen können nur als Wert übergeben werden, und die jedem Grundtyp entsprechende Kapselungsklasse wird als Referenz übergeben.
2. In Bezug auf die Leistung werden Basistypen in Java auf dem Stapel erstellt, und alle Objekttypen werden auf dem Heap erstellt (Verweise auf Objekte werden auf dem Stapel erstellt). Beispiel: Integer i=new Integer(10); wobei new Integer() auf dem Heap erstellt wird und seine Referenz Integer i auf dem Stapel liegt. Das Aufkommen gekapselter Klassen soll die Verwendung einiger Methoden erleichtern, die in Basistypen nicht verfügbar sind, wie z. B. valueOf(), toString() usw. Wenn Sie außerdem einen Verweis auf ein int-Objekt anstelle eines Werts übergeben möchten, können Sie nur eine Wrapper-Klasse verwenden.
Die Aufrufeffizienz der Speicherzuweisung auf dem Stapel unterscheidet sich stark von der Speicherzuweisung auf dem Heap. Obwohl die Speicherzuweisung auf dem Stapel effizient ist, besteht bei der Speicherzuweisung auf dem Stapel das Problem von Speicherlecks. (Dies ist ein Problem, das mittelmäßige Programmierer grundsätzlich nicht lösen können...) Java verwendet eine sehr geniale Methode, um die Effizienz der Speicherzuweisung auf dem Heap zu verbessern. Trotzdem ist Java immer noch langsam. Es ist unwahrscheinlich, dass er so schnell wie C++ wird, obwohl er versprochen hat, dass virtuelle Maschinen eines Tages so schnell sein werden wie Maschinencode.
JDK5.0 kann automatisch gepackt werden, das heißt, Basisdaten können automatisch in gekapselte Klassen gepackt werden. Der Vorteil von Basisdatentypen besteht darin, dass sie schnell sind (der Zweck besteht nicht darin, Objekte zu erstellen und zu recyceln). Eingekapselte Klassen sollen vor allem besser sein. Es gibt viele Methoden zur Verarbeitung der Datenkonvertierung und sie sind einfach zu verwenden.
Natürlich erfolgt die Übertragung gekapselter Typen per Referenz.

Integer a = new Integer(1);

bedeutet, dass sich eine Integer-Typ-Referenz auf einen Speicherabschnitt bezieht und die Daten in diesem Speicher 1 sind wird in a gespeichert. Dies ist die Referenz (Adresse) des Blockspeichers. Bei der Übergabe von a an andere Methoden oder Objekte wird die Referenz von a übergeben.
Konvertierung zwischen Typen:

String b = "123456"; 
int c = Integer.parseInt(b);

bedeutet die Konvertierung der Zeichenfolge 123456 in eine Ganzzahl, wobei parseInt eine statische Methode ist und direkt verwendet werden kann.
Ein weiterer Punkt ist, dass dies in einigen Fällen erforderlich ist Wenn es um Kapselungsklassen geht, z. B. um eine Sammlungsliste, können nur Objekte hinzugefügt werden, d in der Liste, wie zum Beispiel

List list = new ArrayList(); 
list.add(new Integer(1)); 
list.add(new Integer(2)); 
list.add(new Integer(3)); 
list.add(new Integer(4));

JDK5.0 kann Pakete automatisch versiegeln, daher kann es als

List list = new ArrayList(); 
list.add(1); 
list.add(2); 
list.add(3); 
list.add(4);

abgekürzt werden. Ich glaube, Sie haben die Methode beherrscht, nachdem Sie den Fall in diesem Artikel gelesen haben Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

JavaScript zum Abrufen der Stadt und des geografischen Standorts des Benutzers

Die Beziehung zwischen dem JavaScript-Aufrufmodus und diesem Schlüsselwort Bindung

Die Beziehung zwischen dem JavaScript-Aufrufmodus und dieser Schlüsselwortbindung

Das obige ist der detaillierte Inhalt vonImplementierungsschritte der Kapselung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn