Heim >Java >javaLernprogramm >Zusammenfassung der Wissenspunkte in Java Object-Facing
Dieser Artikel bietet Ihnen eine Zusammenfassung der Wissenspunkte über Java-Objekte. Freunde in Not können darauf zurückgreifen.
Java ist eine objektorientierte Sprache, daher ist es notwendig, die verschiedenen Definitionen und Verständnisse von Objekten separat aufzuzeichnen.
Objektorientiert, hauptsächlich einschließlich: objektorientiertes Denken, Klassen und Objekte und ihre Verwendung, Speicherkarte von Objekten, der Unterschied zwischen Mitgliedsvariablen und lokalen Variablen, anonyme Objekte, Kapselung ( private), dieses Schlüsselwort, Konstruktormethode, statisches Schlüsselwort.
1. Überblick: Es basiert auf prozessorientiertem Denken und ist eine Zusammenfassung von prozessorientiert.
2. Objektorientierte Entwicklung: Es bedeutet, ständig Objekte zu erstellen, Objekte zu verwenden und Objekte anzuweisen, Dinge zu tun.
3. Objektorientiertes Design: Es verwaltet und pflegt tatsächlich die Beziehung zwischen Objekten.
4. Objektorientierte Funktionen: Kapselung, Vererbung, Polymorphismus
5. Die Beziehung zwischen Klassen und Objekten:
(1) Klasse: eine Reihe verwandter Attribute und Sammlung von Verhaltensweisen
(2) Objekt: Es ist die spezifische Verkörperung dieser Art von Dingen
6. Anonymes Objekt:
(1) Es ist ein Objekt ohne Namen, das ist eine Vereinfachung der Objektdarstellung
(2) Zwei Verwendungssituationen anonymer Objekte: 1. Wenn das Objekt die Methode nur einmal aufruft 2. Übergabe als tatsächliche Parameter Relevante Übersicht über die Klasse
1. Student s = new Student();Was macht es im Speicher?
(1) Laden Sie die Student.class-Datei in den Speicher
(2) Schaffen Sie Platz für s im Stapelspeicher
(3) Schaffen Sie Platz für das Student-Objekt im Heap-Speicher
(4) Richtig Die Mitgliedsvariablen des Studentenobjekts werden standardmäßig initialisiert
(5) Die Mitgliedsvariablen des Studentenobjekts werden angezeigt und initialisiert
(6) Den Mitgliedsvariablen des Studentenobjekts werden Werte zugewiesen durch die Konstruktionsmethode
(7) Das Student-Objekt wird initialisiert. Weisen Sie der s-Variablen die Objektadresse zu.
2. Zu den Klassen gehören im Wesentlichen: Vererbung, Polymorphismus, abstrakte Klassen, Schnittstellen, Pakete und Führungspakete. Berechtigungsmodifikatoren, interne Klassen
1. Wenn dieselben Attribute und Verhaltensweisen in mehreren Klassen vorhanden sind, extrahieren Sie diese Inhalte in eine einzelne Klasse. Dann sind mehrere Klassen nicht mehr erforderlich um diese Attribute und Verhaltensweisen zu definieren, sofern sie diese Klasse erben.
2. Die Vererbung von Klasse zu Klasse kann über das Schlüsselwort „extens“ realisiert werden.
3 Diese einzelne Klasse wird als übergeordnete Klasse oder Basisklasse oder Superklasse bezeichnet als Unterklasse oder abgeleitete Klasse bezeichnet werden
4. Wenn wir eine Klasse definieren, können wir unsere eigenen neuen Mitglieder basierend auf einer vorhandenen Klasse definieren
5. Vorteile:
(1) Verbessert die Wiederverwendbarkeit des Codes
(2) Verbessert die Wartbarkeit des Codes
(3) Es erstellt eine Beziehung zwischen Klassen, was die Voraussetzung für Polymorphismus ist
(4) Ein Nachteil von Klassen sind stark gekoppelt
6. Hinweise:
(1) Unterklassen können nur alle nicht privaten Mitglieder (Mitglieder) der übergeordneten Klasse erben (Methoden und Mitgliedsvariablen)
(2) Unterklassen können die Konstruktionsmethode der übergeordneten Klasse nicht erben, können jedoch über das Super-Schlüsselwort
auf die Konstruktionsmethode der übergeordneten Klasse zugreifen. (3) Einige Funktionen der Klasse nicht erben
7 . Die Beziehung zwischen Konstruktoren bei der Vererbung:
(1) Alle Konstruktoren in der Unterklasse verwenden standardmäßig den Konstruktor der übergeordneten Klasse mit leeren Parametern
(2) Da die Unterklasse die Daten der übergeordneten Klasse erbt der Klasse kann auch die Daten der übergeordneten Klasse verwenden. Daher müssen Sie vor der Initialisierung der Unterklasse zunächst die Initialisierung der übergeordneten Klassendaten abschließen
(3) Die erste Anweisung jeder Konstruktormethode lautet standardmäßig: super()
(4) Wenn keine Konstruktormethode vorhanden ist in der übergeordneten Klasse Was zu tun ist:
[1] Die Unterklasse verwendet super, um andere Konstruktoren der übergeordneten Klasse explizit mit Parametern aufzurufen
[2] Die Unterklasse ruft dadurch andere Konstruktoren dieser Klasse auf
[3 ] Es muss sein Beachten Sie, dass super() und this() in der ersten Anweisung erscheinen müssen, andernfalls kommt es zu mehreren Initialisierungen der übergeordneten Klassendaten
8. Methodenumschreibung:
( 1) Übersicht: In der Unterklasse erscheint eine Methodenanweisung, die genau mit der der übergeordneten Klasse übereinstimmt. Dies wird auch als Methodenüberschreibung oder Methodenüberschreibung bezeichnet
(2) Private Methoden in der übergeordneten Klasse können nicht überschrieben werden
(3) Wenn eine Unterklasse die Methode einer übergeordneten Klasse neu schreibt, darf die Zugriffsberechtigung nicht niedriger sein
(4) Die statische Methode der übergeordneten Klasse muss von der Unterklasse ebenfalls über eine statische Methode neu geschrieben werden
1. statisches Schlüsselwort:
(1) Mitgliedsvariablen und Mitgliedsmethoden können geändert werden
(2) Funktionen:
[1] Wird geladen, wenn die Klasse geladen wird
[2] Priorität besteht vor dem Objekt
[3 ] Von allen Objekten der Klasse gemeinsam genutzt
[4] Sie können
über den Klassennamen aufrufen (3) Hinweise:
[1] In statischen Methoden gibt es kein Schlüsselwort this
[2] Statisch Auf die Methode kann nur auf statische Mitgliedsvariablen und statische Mitgliedsmethoden zugegriffen werden
(4) Der Unterschied zwischen statischen Variablen und Mitgliedsvariablen:
[1] Statische Variablen gehören zu Klassen und werden daher auch zu Klassenvariablen Objekte, also werden sie auch Instanzvariablen genannt
[2] Statische Variablen werden im statischen Bereich des Methodenbereichs gespeichert, und Mitgliedsvariablen werden im Heap-Speicher gespeichert
[3] Statische Variablen werden als Klasse geladen wird geladen und verschwindet, wenn die Klasse verschwindet; Mitgliedsvariablen existieren mit der Erstellung des Objekts und verschwinden mit dem Verschwinden des Objekts
[4] Statische Variablen können über Klassennamen oder Objekte aufgerufen werden Objektnamen
2. Super-Schlüsselwort:
(1) Die Verwendung von super und diesem Schlüsselwort ist sehr ähnlich. Dies stellt die Referenz dar, die dieser Klasse entspricht, und super stellt die Identifizierung des übergeordneten Elements dar Der Speicherplatz der Klasse (der als Referenz der übergeordneten Klasse verstanden werden kann)
(2) Verwenden Sie super, um auf die Komponenten der übergeordneten Klasse zu verweisen, und verwenden Sie diese, um auf das aktuelle Objekt zu verweisen
3 Schlüsselwort:
(1) Das letzte Schlüsselwort ist final Bedeutung: Sie können Klassen, Mitgliedsvariablen und Mitgliedsmethoden ändern
(2) Klassen ändern, aber Klassen können nicht vererbt werden
(3) Ändern Variablen, und die Variablen werden zu Konstanten und können nur einmal zugewiesen werden
(4) Methoden ändern, Methoden können nicht überschrieben werden
1. Übersicht: Eine bestimmte Sache hat verschiedene Zustände verschiedene Zeiten
2. Polymorphe Prämisse und Manifestation: Es gibt eine Vererbungsbeziehung, es gibt Methodenumschreibungen und es gibt Verweise auf übergeordnete Klassen, die direkt auf Unterklassenobjekte verweisen
3. Vorteile:
(1) Verbessern Sie die Wartbarkeit des Programms (garantiert durch Vererbung)
(2) Verbessern Sie die Skalierbarkeit des Programms (garantiert durch Polymorphismus)
4 Funktionen
1. Übersicht: Eine Methode ohne Methodenkörper sollte als abstrakte Methode definiert werden. Wenn eine Klasse eine abstrakte Methode enthält, muss die Klasse als definiert werden eine abstrakte Klasse
2. Funktionen:
(1) Abstrakte Klasse und abstrakte Methoden müssen durch das Schlüsselwort abstract geändert werden
(2) Abstrakte Klassen haben nicht unbedingt abstrakte Methoden und Klassen mit abstrakten Methoden müssen abstrakte Klassen sein
(3) Abstrakte Klassen können nicht instanziiert werden
(4) Wie wird also eine abstrakte Klasse instanziiert? Gemäß der polymorphen Methode werden konkrete Unterklassen instanziiert
(5) Unterklassen abstrakter Klassen, entweder abstrakte Klassen oder Überschreiben aller abstrakten Methoden in abstrakten Klassen
3. Merkmale abstrakter Klassen:
(1) Mitgliedsvariablen können Variablen oder Konstanten sein
(2) Es gibt Konstruktoren, aber sie können nicht instanziiert werden. Welche Rolle spielt die Konstruktormethode? Initialisierung für Benutzerunterklassen, um auf übergeordnete Klassendaten zuzugreifen
(3) Es kann abstrakte Methoden geben, um die Unterklasse auf die Ausführung bestimmter Aktionen zu beschränken
(4) Es kann auch nicht abstrakte Methoden geben, um die Wiederverwendbarkeit von Code zu verbessern
( 5) Die abstrakte Methode muss öffentlich oder geschützt sein (denn wenn sie privat ist, kann sie nicht von Unterklassen geerbt werden und Unterklassen können die Methode standardmäßig nicht implementieren). 🎜> 1. Übersicht: Im Software-Engineering bezeichnet Schnittstelle im Allgemeinen Methoden oder Funktionen, die von anderen aufgerufen werden. Es handelt sich um eine Abstraktion des Verhaltens.
(1) Verwendung Das Schlüsselwort Schnittstelle stellt dar: Schnittstelle Schnittstellenname {}
(2) Die Klassenimplementierungsschnittstelle wird durch implementiert dargestellt: Klasse Klassenname implementiert Schnittstellennamen {}(3) Die Schnittstelle kann nicht instanziiert werden. aber es kann auf polymorphe Weise implementiert werden, instanziiert durch eine bestimmte Unterklasse
(4) Unterklasse der Schnittstelle: entweder eine abstrakte Klasse oder alle abstrakten Methoden in der Schnittstelle überschreibend
3. Merkmale der Schnittstellenmitglieder:
(1) Mitgliedsvariablen: können nur Konstanten sein, die Standardmodifikatoren sind öffentlich, statisch, final
(3) Schnittstellenmitgliedsmethoden können nur abstrakte Methoden sein, und die Standardmodifikatoren sind öffentlich, abstrakt
Klasse und Klasse, Klasse und Schnittstelle, Schnittstelle und Schnittstellenbeziehung
1 und Klasse: Vererbungsbeziehung, nur Einzelvererbung ist möglich, aber mehrstufige Vererbung ist möglich
3. Schnittstellen und Schnittstellen: Vererbungsbeziehung, Sie können Einzelvererbung oder Mehrfachvererbung haben
Der Unterschied zwischen abstrakten Klassen und Schnittstellen :
1. Schnittstelle ist die Abstraktion von Aktionen und abstrakte Klasse ist die Abstraktion der Quelle
3. Wenn sie instanziiert werden sollen, müssen abstrakte Klassenvariablen auf Unterklassenobjekte verweisen, die alle abstrakten Methoden implementieren, und Schnittstellenvariablen müssen auf Klassenobjekte verweisen, die alle Schnittstellenmethoden implementieren 🎜>
4. Abstrakte Klassen müssen von Unterklassen geerbt werden und Schnittstellen müssen von Klassen implementiert werden 5. Schnittstellen können nur Methodendeklarationen vornehmen, während abstrakte Klassen Methodendeklarationen und Methodenimplementierungen vornehmen können6. In der Schnittstelle definierte Variablen können nur öffentliche statische Konstanten sein, und Variablen in abstrakten Klassen sind gewöhnliche Variablen
7. Die abstrakten Methoden in der abstrakten Klasse müssen von der Unterklasse implementiert werden. Wenn die Unterklasse nicht alle abstrakten Methoden der übergeordneten Klasse implementieren kann, kann die Unterklasse nur eine abstrakte Klasse sein. Wenn bei der Implementierung einer Schnittstelle nicht alle Schnittstellenmethoden implementiert werden können, kann die Klasse auf die gleiche Weise nur eine abstrakte Klasse sein
8. Abstrakte Methoden können nur deklariert, nicht implementiert werden. Schnittstellen sind das Ergebnis von Design und abstrakte Klassen sind das Ergebnis von Rekonstruktionen
9. Schnittstellen können Schnittstellen und mehrere Schnittstellen erben, aber Klassen können nur einzeln erben
10 Methoden und Attribute, Schnittstellen können nur abstrakte Methoden und unveränderliche Konstanten haben
11. Wenn Sie sich auf das Wesentliche einer Sache konzentrieren, verwenden Sie abstrakte Klassen, wenn Sie sich auf eine Operation konzentrieren, verwenden Sie Schnittstellen.
1. Übersicht: Es handelt sich eigentlich um einen Ordner zum Klassifizieren und Verwalten von Klassen
2. Definition: Paketpaketname
3. Hinweis:
(1) Die Paketanweisung muss der erste ausführbare Code des Programms sein
(2) Es kann nur eine Paketanweisung in einer Java-Datei geben
(3) Wenn nein Paket, die Standardeinstellung bedeutet kein Paketname
4. Kompilierung und Betrieb von Klassen mit Paketen:
(1) Manuell:
[1] javac kompiliert die aktuelle Klassendatei
【2】Erstellen Sie manuell den Ordner, der dem Paket entspricht
【3】Legen Sie die kompilierte Klassendatei in den Ordner, der im vorherigen Schritt erstellt wurde
【4】Führen Sie die Datei über den Java-Befehl aus, der mit dem Namen ausgeführt werden muss des Pakets: java testpackage.HelloWorld
(2) Automatischer Typ:
[1] Beim Kompilieren von Javac mit dem Parameter -d ausführen: javac -d .HelloWorld.java
[2] Wird über Java ausgeführt Befehl, derselbe wie der manuelle Typ
5. Leitfadenpaket:
(1) Übersicht: Beim Zugriff zwischen Klassen unter verschiedenen Paketen haben wir festgestellt, dass jedes Mal eine Klasse unter verschiedenen Paketen verwendet wird , ein Paket muss hinzugefügt werden Die gesamte Route ist problematischer. Zu diesem Zeitpunkt stellt Java die Paketimportfunktion bereit
(2) Paketimportformat: Importpaketname
1. Übersicht: Definieren Sie die Klasse in anderen Klassen Intern wird diese Klasse als interne Klasse bezeichnet
2. Zugriffsmerkmale:
(1) Interne Klassen können direkt auf Mitglieder externer Klassen zugreifen, einschließlich privater
(2) Externe Klassen müssen Um Mitglied einer inneren Klasse zu sein, müssen Sie ein Objekt erstellen
3. Interne Klassenposition:
(1) Entsprechend den verschiedenen in der Klasse definierten Positionen kann die innere Klasse sein In zwei Formate unterteilt: Mitgliedsposition (innere Mitgliedsklasse), lokale Position (lokale innere Klasse)
(2) Innere Mitgliedsklasse:
[1] Gemeinsame Modifikatoren: privat, statisch
[2] Das Mitglied innere Klasse, die nur statisch geändert wird. Kann auf statische Mitglieder externer Klassen zugreifen
(3) Lokale interne Klassen:
[1] Kann direkt auf Mitglieder externer Klassen zugreifen
[2] Kann interne Klassenobjekte erstellen und aufrufen Interne Klassenmethoden durch die Objekte Verwenden Sie die lokale interne Klassenfunktion
[3] Lokale interne Klassen müssen mit final geändert werden, um auf lokale Gesichtsänderungen zugreifen zu können. Da lokale Variablen verschwinden, wenn der Methodenaufruf abgeschlossen ist, verschwindet das lokale Objekt zu diesem Zeitpunkt nicht sofort aus dem Heap-Speicher und diese Variable muss weiterhin verwendet werden. Damit die Daten weiterhin verwendet werden können, werden sie mit final geändert, sodass im Heap-Speicher tatsächlich ein konstanter Wert gespeichert wird.
(4) Anonyme innere Klasse:
[1] Es ist eine vereinfachte Art, innere Klasse zu schreiben
[2] Format: neuer Klassenname oder Schnittstellenname (){}
[3] Prämisse : Es gibt eine Klasse oder Schnittstelle, die Klasse hier kann eine konkrete gewöhnliche Klasse oder eine abstrakte Klasse sein
[4] Essenz: Es ist ein anonymes Unterklassenobjekt, das die Klasse erbt oder die Schnittstelle implementiert
[5] Man kann sagen, dass die anonyme innere Klasse tatsächlich ein anonymes Unterklassenobjekt
Das obige ist der detaillierte Inhalt vonZusammenfassung der Wissenspunkte in Java Object-Facing. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!