Ich hatte immer das Gefühl, dass das Buch zu wortreich war, ich wollte mich später leichter daran erinnern und nach den Zusammenfassungen anderer Leute suchen, aber ich konnte keine gute finden eins, also musste ich mein Bestes geben, um es so gut wie möglich zusammenzufassen.
Einführung in Objekte
Das dachte ich, als ich sah Einführung in Objekte Dieses Buch
Inhalt:
1.1 Abstraktionsprozess
1.2 Jedes Objekt hat eine Schnittstelle
1.3 Jedes Objekt stellt Dienste bereit
1.4 Versteckte konkrete Implementierung
1.5 Wiederverwendung der konkreten Implementierung
1.6 Vererbung
1.7 Austauschbare Objekte mit Polymorphismus
1.8 Einzelwurzelvererbung Struktur
1.9 Container
1.10 Erstellung und Lebensdauer von Objekten
1.11 Ausnahmebehandlung: Fehlerbehandlung
1.12 Gleichzeitige Programmierung
1.13 Java und das Internet
1.14 Zusammenfassung
Nachdem ich dies gelesen habe, habe ich das Gefühl, dass ich Java endlich beherrschen werde. In diesem Kapitel werden jedoch nur die Grundkonzepte von OOP vorgestellt, einschließlich eines Überblicks über Entwicklungsmethoden, und ich verstehe die Bedeutung von Objekten.
1.1 Abstraktionsprozess
Erklären Sie die Orientierung anhand der Unzulänglichkeiten anderer Sprachen Objektsprache ist gut.
Die Assemblersprache ist eine leichte Abstraktion der zugrunde liegenden Maschine. Die Assemblersprache steuert direkt die Hardware des Computers basieren auf Computerstrukturen zur Lösung von Problemen. OOP-Sprachen lösen Probleme basierend auf der Struktur des Problems und sind nicht auf einen bestimmten Problemtyp beschränkt.
1.2 Jedes Objekt hat eine Schnittstelle
Schnittstelle: legt fest, was für ein bestimmtes Objekt ausgegeben werden kann. Anforderungsobjekt: Typname
Wenn man sich die Textbeschreibung ansieht, ist es zu einem philosophischen Problem geworden, das anhand des folgenden Beispiels leicht zu verstehen ist.
Light lt = new Light(); //对象lt.on;//接口向对象发出请求
1.3 Jedes Objekt stellt Dienste bereit
Vorteile: 1. Hilft, den Zusammenhalt der Software zu verbessern 2. Jedes Objekt kann eine Aufgabe gut erledigen, aber es versucht nicht, mehr zu tun.
Verstehen: Entwerfen Sie einen Musikplayer mit Textanzeige, Wiedergabe, Pause und Hintergrundanzeige (Dienst). Stellen Sie zu diesem Zeitpunkt nicht nur ein Objekt bereit (das wird nicht versucht). mehr tun), kann drei Objekte zur Vervollständigung von drei Diensten bereitstellen, und drei Objekte stellen drei Dienste zur Vervollständigung eines Musikplayers bereit (Kohäsion).
1.4 Versteckte spezifische Implementierung
Laden Sie ein Framework von Github herunter. Mein Ziel ist es, schnell zu erreichen Bei der Anwendungsentwicklung muss mir das Framework nur Methodenaufrufe zur Verfügung stellen, und das Ausblenden der anderen hat keine Auswirkungen auf meine Aufrufe.
Zugriffsberechtigungen: öffentlich > geschützt (Paket + Basisklasse) > Paketzugriffsberechtigungen (Standard, wenn kein Schlüsselwort vorhanden ist) > 1.5 Spezifische Implementierung der Wiederverwendung
Wiederverwendung bezieht sich auf die Verwendung von Vererbung oder Kombination in einer Klasse.
Vererbung----ist die Beziehung einer Litschi zu einer Frucht
Kombination- ---Hat eine Beziehung Es gibt eine Möglichkeit, auf dem Bauch zu schlafen
Eine Unterklasse wird von einer übergeordneten Klasse abgeleitet. Die Unterklasse kann die Datenattribute und Verhaltensweisen der übergeordneten Klasse übernehmen und neue Funktionen erweitern.
1.7 Austauschbare Objekte mit Polymorphismus
class Shape{ draw(); erase(); move(); getColor(); setColor(); }
对doSomething的调用会自动地正确处理,而不管对象的确切类型(可互换对象)。
doSomething(Shape shape)的执行是指你是Shape类或者父类为Shape,而不是你是Circle类就执行这样,你是Triangle 类就执行那样。理解了可以去看设计模式之策略模式。
这里还涉及到向上转型,如下图:
1.8 单根继承结构
1、所有类都继承自单一的基类
public class JianCheng extends Object { }
public class JianCheng { public static void main(String[] args) { JianCheng jiancheng= new JianCheng(); System.out.println(JianCheng instanceof Object); } }
Ausgabe: true //BeschreibungJianCheng-Klasse erbt standardmäßigObjekt
2. Stellen Sie sicher, dass alle Objekte bestimmte Funktionen haben
Objektmethoden werden von Unterklassen geerbt, wie zum Beispiel: clone(), equal ( Object obj), toString() und andere Methoden.
3. Garbage Collection wird einfach
Objekt hat garantiert sein (Objekt ) Geben Sie Informationen ein, damit Sie nicht in der Unfähigkeit stecken bleiben, den Typ eines Objekts zu bestimmen. Dies ist wichtig für Vorgänge auf Systemebene (z. B. Ausnahmebehandlung).
1.9 Container
enthält Zugriff auf andere Objektreferenzen werden Container (Sammlungen) genannt, wie z. B. Liste (wird zum Speichern von Sequenzen verwendet), Karte (auch als assoziatives Array bekannt, wird zum Herstellen von Assoziationen zwischen Objekten verwendet), Set (von jedem Objekttyp wird nur eines gespeichert) und wie Warteschlangen. Bäume, Stapel und mehr.
Vergleich von ArrayList und LinkedList, ersteres ist die Form eines Arrays, der zufällige Zugriff auf Elemente hat einen geringen Overhead, aber Einfüge- und Löschvorgänge haben einen hohen Overhead. Letzteres hat die Form einer verknüpften Liste, und Einfüge- und Löschvorgänge sind praktisch.
1.10 Entstehung und Lebensdauer von Objekten
Das verstehen Unterschied zwischen auf dem Stapel und dem Heap platzierten Objekten
Stapel-- Zuweisung und Freigabe erhalten Priorität Position , opfert Flexibilität , weil die genaue Anzahl, Lebensdauer und Art der Objekte kennen muss.
Heap – dynamisch erstellte Objekte im Speicherpool zur Laufzeit. Kennen Sie die Anzahl , Lebensdauer und Art der Objekte . Die dynamische Verwaltung erfordert viel Zeit, um Speicherplatz im Heap zuzuweisen, aber das Erstellen und Freigeben von Speicherplatz ist sehr praktisch.
Java übernommen Durch die Verwendung des neuen Schlüsselworts zum Erstellen eines Objekts mithilfe der dynamischen Speicherzuweisung kann der Compiler bestimmen, wie lange das Objekt überleben wird, und es automatisch über den „Garbage-Collector-Mechanismus“ zerstören.
1.11 Ausnahmebehandlung: Fehlerbehandlung
Eine Ausnahme ist ein Objekt, das vom Fehlerort ausgeworfen und von einem bestimmten Typ eines Fehlerausnahmehandlers durch try--catch oder throw abgefangen wird. Die Ausnahmebehandlung ist wie ein weiterer Pfad, der beim Auftreten eines Fehlers parallel zum normalen Ausführungspfad des Programms ausgeführt wird.
Wenn der Java-Code nicht den richtigen Ausnahmebehandlungscode schreibt, erhalten Sie eine Fehlermeldung zur Kompilierungszeit. Zum Beispiel: IOException, ClassCastException (Klassenkonvertierungsausnahme), NullPointerException (Nullzeigerausnahme) usw.
1.12 Gleichzeitige Programmierung
Verarbeitung mehrerer Aufgaben gleichzeitig Gleichzeitig besteht die Idee einer Aufgabe darin, in mehreren Threads ausgeführt zu werden.
Im synchronen Multithread-Betrieb und bei gemeinsam genutzten Ressourcen besteht eine versteckte Gefahr. A wollte ursprünglich a=Love You verwenden, aber ein bestimmter Thread führte zu a=hate you und dann benutzte A es, sodass A's Geständnis definitiv scheitern wird.
1.14 Zusammenfassung
Das erste Kapitel enthält ausschließlich theoretisches Wissen, und viele Wissenspunkte sind offensichtlich einfach Die lange Diskussion macht es jedoch schwer zu verstehen. Es gibt einige praktische Informationen, aber zu viel Unklarheit.
Das obige ist der detaillierte Inhalt vonZusammenfassung der Ideen und Methoden der Java-Programmierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!