Heim > Java > javaLernprogramm > Hauptteil

Zusammenfassung der Wissenspunkte in Java Object-Facing

不言
Freigeben: 2018-09-18 17:09:15
Original
1639 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Zusammenfassung der Wissenspunkte über Java-Objekte. Freunde in Not können darauf zurückgreifen.

Vorwort

  1. Java ist eine objektorientierte Sprache, daher ist es notwendig, die verschiedenen Definitionen und Verständnisse von Objekten separat aufzuzeichnen.

  2. 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.

Grundlegender Überblick über objektorientiertes Denken

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

Vererbung von 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

Mehrere Schlüsselwörter: static, super , final

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

Polymorph

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

Abstrakte Klasse

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.

2. Schnittstelleneigenschaften:

(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

(2) Es gibt keine Konstruktormethode, da die Schnittstelle hauptsächlich die Funktion erweitert und nicht speziell existiert

(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

2. Klassen und Schnittstellen: Implementierungsbeziehungen, die einzeln oder auf mehrere Arten implementiert werden können. Sie können auch eine Klasse erben und mehrere Schnittstellen gleichzeitig implementieren

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

2. Abstrakte Klasse stellt dar, was das Objekt ist, während Schnittstelle darstellt, was das Objekt tun kann

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önnen

6. 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.

Paket: Paket

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

Interne Klasse

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

ist

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!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!