Klassen und Objekte
- Die Beziehung zwischen Klassen und Objekten.
- Einführung in Klassen
- Klassenvariablen (statische Variablen)
- öffentlich und privat
- Einige Vorschläge und Zusammenfassung
- Am Ende geschrieben
Die Beziehung zwischen Klassen und Objekten.
Eine Klasse ist beispielsweise eine Entwurfszeichnung eines Hauses oder eine umgekehrte Form. Das Erstellen einer Klasse ist wie das Entwerfen einer Zeichnung und das Gravieren einer Vorlage. Ein Objekt ist wie ein gebautes Haus oder ein geformtes Modell. Wenn Sie ein Haus oder ein Modell bauen möchten, benötigen Sie zweifellos zunächst eine Zeichnung und eine Vorlage. Dies ist die Beziehung zwischen Klassen und Objekten.
Verwandte kostenlose Lernempfehlungen: Grundlegendes Java-Tutorial
Einführung in Klassen
Zunächst werden Klassen in Java durch das Schlüsselwort „class“ definiert, und die Elemente in der Klasse heißen: Mitgliedsattribute. Funktionen in einer Klasse werden Member-Methoden genannt.
class Person {
public int age;//成员属性 实例变量
public String name;
public String sex;
public void eat() {//成员方法
System.out.println("吃饭!");
}
public void sleep() {
System.out.println("睡觉!");
}}
Nach dem Login kopieren
Das Folgende ist, eine Klasse zu definieren
class Person {
public String name;
public String sex;
public int age;
//....人的属性}
Nach dem Login kopieren
und dann diese Klasse zu verwenden, um über den Punkt hinweg auf die Mitglieder dieses Objekts zuzugreifen . Schauen Sie sich das Bild unten an
. Sie können sehen, dass zuvor keine Zuweisung erfolgt. Standardmäßig wird dem Typ der Wert 0 zugewiesen.
Typ | entsprechender 0-Wert |
Ganzzahltyp | 0 |
Gleitkomma. Typ | 0.0 |
Zeichen äh Typ r | /u0000 |
Referenztyp | null |
Hinweis: Der Grund, warum es hier einen Standardwert von 0 gibt, liegt darin, dass es sich bei allen um Mitgliedsvariablen handelt, die nicht zu lokalen Variablen gehören. Daher müssen lokalen Variablen zunächst eigene Werte zugewiesen werden gebraucht.
Klassenvariable (statische Variable)
Die sogenannte Klassenvariable ist eine statische Variable, die durch das Schlüsselwort static geändert und im Methodenbereich gespeichert wird. Speicherplatz wird beim Laden der Klasse zugewiesen Die Klassenvariable ist vom Objekt getrennt. Das heißt, Sie können Klassenvariablen auch dann verwenden, wenn kein instanziiertes Objekt vorhanden ist. Wenn Sie kein Objekt haben, können Sie Klassenvariablen trotzdem über class verwenden name.variable name
In ähnlicher Weise werden durch statische Methoden auch Klassenmethoden genannt, die dieselben Eigenschaften wie Klassenvariablen haben, beim Laden der Klasse Speicherplatz zuweisen, nicht vom instanziierten Objekt abhängen und können direkt über
Klassenname.Funktionsname() aufgerufen werden. Wenn die Variablen und Methoden nicht statisch sind, müssen wir ein Objekt über das Schlüsselwort new instanziieren, bevor wir es verwenden können.
public && privateEs gibt viele Zugriffsmodifikatoren in der Definition einer Klasse, und public und private sind die beiden am häufigsten verwendeten. Wie der Name schon sagt, sind die durch public geänderten Variablen öffentlich Auf sie kann beispielsweise direkt zugegriffen werden.
Wenn wir public zum Ändern von Mitgliedsvariablen verwenden, kann dies normal verwendet werden, und auf die Mitglieder des Objekts wird über Punkte zugegriffen. Wenn wir jedoch private zum Ändern verwenden, tritt ein Fehler auf gemeldet werden, da private privat ist und nur verwendet werden kann
Es wird innerhalb der aktuellen Klasse verwendet und kann nicht extern referenziert werden.
Wenn es in anderen Klassen verwendet werden muss, muss es eine öffentliche Schnittstelle bereitstellen und diese zu der Klasse aufrufen, die verwendet werden soll. Um es einfach auszudrücken: Ich schreibe eine öffentliche Methode, Sie geben die Daten an mich weiter Die Methode, und ich werde sie selbst bedienen, wie zum Beispiel die folgenden Methoden. Sie können die Funktionen dieser Methoden kennen, indem Sie sich ihre Namen ansehen. Sie können das über die öffentliche Schnittstelle sehen Vorsichtige kleine Partner können feststellen, dass dieser Variablenname
in setName und anderen Methoden vorkommt Warum gibt es dieses Schlüsselwort? Denn wenn die Variablennamen gleich sind, sind die lokalen Variablen möglicherweise nicht in der Lage, Werte zuzuweisen. Schauen Sie sich das Bild unten an Dies liegt daran, dass die lokalen Variablen zuerst verwendet werden, was dazu führt, dass der Klasse kein Wert zugewiesen wurde.
Einige Vorschläge und Zusammenfassung
1 Es wird empfohlen, bei der Implementierung einer Klasse die Mitgliedsvariablen so weit wie möglich auf private Attribute zu setzen, um zu verhindern, dass Daten direkt manipuliert werden, und auf Schnittstellen, deren Methoden nicht unbedingt öffentlich sind Abhängig von der tatsächlichen Situation sollten wir auch auf private Attribute setzen. 2 Verwenden Sie die Benennungsregel für Variablennamen und Methodennamen, wenn Sie dies nicht tun können , Sie sollten entsprechende chinesische Kommentare abgeben, um anderen die Bedeutung des Codes zu erleichtern
3 Statisch geänderter Code und Codeblöcke haben Vorrang vor jeder Codeausführung
4 Eine Klasse kann mehrere Objekte erstellen Die Zeichnung kann beispielsweise mehrere identische Häuser aus einer Zeichnung erstellen. 5 Beim Instanziieren eines Objekts wird eine Methode mit dem gleichen Namen aufgerufen Der Klassenname kann Parameter annehmen und hat keine Rückgabewerttypdeklaration. Wenn Sie ihn nicht definieren, wird er vom Compiler automatisch implementiert. Ein Konstruktor ohne Parameter wird vom Compiler nicht automatisch generiert. Und der Konstruktor unterstützt auch das Überladen. Eine der Verwendungsmöglichkeiten des Konstruktors besteht darin, dass er beim Erstellen eines Objekts Werte zuweisen kann.
Durch das Hinzufügen von this.name ist kein setname erforderlich. Sie müssen die Parameter nur direkt beim Erstellen des Objekts übergeben. Andere Blogger gehen nicht auf Details ein.
Am Ende geschrieben
Das Obige ist, was der Blogger in diesem Zeitraum gelernt hat. Wenn der Artikel unklar oder falsch ist, kommentieren Sie ihn bitte oder senden Sie eine private Nachricht Der Blogger wird sich rechtzeitig darum kümmern. Okay, dieser Blog endet hier, wir sehen uns im nächsten Blog.
Dieser Artikel wurde reproduziert von: https://blog.csdn.net/JunFengYiHan/article/details/116066556
Autor: JunFengYiHan
Das obige ist der detaillierte Inhalt vonKonzentrieren Sie sich auf die detaillierte Erläuterung von Java-Klassen und -Objekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!