Was ist der Unterschied zwischen Eigenschaften und Feldern in Java?
Eigenschaften in Java können normalerweise als Get- und Set-Methoden verstanden werden.
Felder werden üblicherweise als „Klassenmitglieder“ oder „Klassenmitgliedsvariablen“ bezeichnet, manchmal auch als „Domänen“, die als „Datenmitglieder“ verstanden werden und zum Transport von Daten dienen.
Feld (Feld)
Klassenmitglied (Feld), normalerweise eine in der Klasse definierte Klassenmitgliedsvariable,
Zum Beispiel:
public class A{ private String s = "123"; }
Wir können sagen, dass es in Klasse A eine Mitgliedsvariable namens s gibt und Klasse A ein Feld s hat.
Felder werden im Allgemeinen zum Übertragen von Daten verwendet und werden daher aus Sicherheitsgründen im Allgemeinen als privat definiert.
Felder und Konstanten beschreiben die Daten (Domäne) der Klasse. Wenn auf einige Teile dieser Daten von der Außenwelt nicht zugegriffen werden darf,
Gemäß dem Prinzip der „Objektkapselung“. ", sollten Sie vermeiden. Felder eines Typs werden der Außenwelt öffentlich zugänglich gemacht. Mit Ausnahme der endgültigen geänderten Konstanten.
Stellen Sie es im Allgemeinen auf den privaten Typ ein. Da es privat ist, wie kann die Außenwelt darauf zugreifen? Natürlich über die Attributmethode von Java!
Eigenschaft
Attribute sind auf die Deklaration von Methoden in der Klasse beschränkt und stehen in keiner Beziehung zu anderen Mitgliedern in der Klasse und gehören zur Kategorie von JavaBean.
Zum Beispiel:
void setA(String s){} String getA(){}
Wenn eine Klasse ein solches Methodenpaar hat, können wir sagen, dass diese Klasse eine lesbare und schreibbare a-Eigenschaft hat (beachten Sie, dass Kleinbuchstaben a ). Wenn die Set-Methode entfernt wird, ist sie ein lesbares Attribut und umgekehrt.
Die Regel lautet: Entfernen Sie das Get oder Set und die verbleibende Zeichenfolge
Zusammenfassung:
Der Zweck der Unterscheidung von Attributen und Feldern dient der besseren Übersichtlichkeit Um Datensicherheit zu erreichen, müssen wir beispielsweise, wenn wir einem Attribut einer Klasse einen Wert zuweisen oder ihn in anderen Klassen verwenden möchten, dieses Feld auf öffentlich setzen. Dies ermöglicht jedoch beliebige Lese- und Schreibvorgänge für das Feld ist sehr schädlich für die Datensicherheit. Daher wurden Attribute hinzugefügt, um die Kapselung von Feldern zu realisieren. Die Attribute dieses Felds verfügen nur über Set-Methoden und keine Get-Methoden, sodass nur Zuweisungsoperationen für diese Methode ausgeführt werden können. und es gibt keinen Lesevorgang, umgekehrt. Das heißt, die Operationen an Feldern werden durch Attribute gesteuert.
Sie können Attribute erstellen und Felder und Attribute zusammen kapseln. Über Attribute können Sie wie auf Felder auf Datenelemente zugreifen, eine Datenkapselung realisieren, illegale Datenzuweisungen vermeiden, die Datenintegrität sicherstellen und Änderungen am gesamten Programm vermeiden, wenn Änderungen innerhalb der Klasse vorgenommen werden.
Reflexion basierend auf Get- und Set-Methoden zerstört keine Objektdaten, und die IDE kann durch Konventionen einige intelligente Eingabeaufforderungen erstellen. Wenn Sie selbst Reflektion verwenden und eine allgemeine Verarbeitung zum Durchlaufen jedes Felds durchführen möchten, wird Ihnen niemand sagen, welches Feld geschrieben und welches gelesen werden kann, sodass Sie damit nicht umgehen können.
Das obige ist der detaillierte Inhalt vonWas ist ein Java-Feld?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!