Heim > Java > javaLernprogramm > Hauptteil

Was ist eine Klasse in Java? Verwandte Einführung in den Unterricht

青灯夜游
Freigeben: 2018-09-18 15:26:58
Original
2287 Leute haben es durchsucht

In diesem Kapitel erfahren Sie, was eine Klasse in Java ist. Die entsprechende Einführung in den Unterricht vermittelt jedem etwas Wissen über den Unterricht. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

class Point{
    constructor(){

    }

    toString(){

    }
}

console.log(Object.keys(Point.prototype))
console.log(Object.getOwnPropertyNames(Point.prototype))
Nach dem Login kopieren

Das Obige ist eine Klasse

1. Der Datentyp der Klasse ist eine Funktion, und die Klasse selbst zeigt auf den Konstruktor

console.log(typeof Point)  // "function"
console.log(Point ===Point.prototype.constructor)  // true
Nach dem Login kopieren

Das Prototypattribut Der Konstruktor ist in der „Klasse“ von ES6 weiterhin vorhanden. Tatsächlich werden alle Methoden einer Klasse in der Prototypeigenschaft der Klasse definiert. Der Code, der mit

beginnt, entspricht

class Point{}
Point.prototype = {
    constructor() {},
    toString() {},
}
Nach dem Login kopieren

Da die Methoden der Klasse (außer dem Konstruktor) alle im Prototypobjekt definiert sind, können dem Prototypobjekt neue Methoden der Klasse hinzugefügt werden . Die Object.assign-Methode kann mehrere Methoden gleichzeitig zu einer Klasse hinzufügen

Ein sehr wichtiger Punkt: Alle in einer Klasse definierten Methoden sind nicht aufzählbar.

console.log(Object.keys(Point.prototype))  // []
console.log(Object.getOwnPropertyNames(Point.prototype))  // ["constructor", "toString"]
Nach dem Login kopieren

Unter anderem gibt Object.keys() ein Array zurück, das alle aufzählbaren Eigenschaften des Objekts selbst enthält, außer Symbol, und Object.getOwnPropertyNames() gibt ein Array zurück, das alle seine eigenen Eigenschaften enthält, außer Symbol

3. Konstruktormethode

Die Konstruktormethode ist die Standardmethode der Klasse. Diese Methode wird automatisch aufgerufen, wenn eine Objektinstanz über den neuen Befehl generiert wird. Eine Klasse muss über eine Konstruktormethode verfügen. Wenn diese nicht definiert ist, wird standardmäßig eine leere Konstruktormethode hinzugefügt.

Die Konstruktormethode gibt standardmäßig das Instanzobjekt zurück, und darum geht es hier. Sie können jedoch angeben, dass ein anderes Objekt zurückgegeben werden soll

4. Vererbung

class ColorPoint extends Point {
    constructor(x, y, color) {
        super(x, y) // 调用父类的 constructor(x, y)
        this.color = color
    }

    toString() {
        return this.color + '' + super.toString() // 调用父类的 toString()
    }
}
Nach dem Login kopieren

Fühlen Sie sich vertraut, wenn Sie „extends“ sehen? Leute, die React verwendet haben, müssen wissen, dass wir beim ES6-Schreiben oft so schreiben von React

class XXXXX extends Component{}
Nach dem Login kopieren

ColorPoint kann alle Eigenschaften und Methoden der Point-Klasse durch Extends erben

Ist Ihnen aufgefallen, dass das Schlüsselwort super sowohl im Konstruktor als auch in den toString-Methoden vorkommt, das sich auf Instanzen von bezieht? Elternklasse.

Unterklassen müssen die Super-Methode in der Konstruktormethode aufrufen, andernfalls wird beim Erstellen einer neuen Instanz ein Fehler gemeldet. Da die Unterklasse kein eigenes This-Objekt hat, sondern das This-Objekt der übergeordneten Klasse erbt, erhält die Unterklasse dies nicht, wenn super nicht aufgerufen wird.

Tatsächlich ist Klasse eine prägnantere Art, den Objektprototyp zu schreiben

Das obige ist der detaillierte Inhalt vonWas ist eine Klasse in Java? Verwandte Einführung in den Unterricht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage