Zuhause Persönliche Finanzen Verwendung abstrakter Methoden in Java - Dummies

Verwendung abstrakter Methoden in Java - Dummies

Video: Abstrakte Klassen in Java - Wieso, weshalb und warum? 2024

Video: Abstrakte Klassen in Java - Wieso, weshalb und warum? 2024
Anonim

Sowohl Schnittstellen als auch abstrakte Klassen haben abstrakte Methoden in Java. Aber die abstrakten Methoden spielen bei diesen beiden Arten von Referenztypen leicht unterschiedliche Rollen. Wie kannst du alles im Kopf behalten?

Das erste, was zu tun ist, ist, sich daran zu erinnern, dass niemand über objektorientierte Programmierkonzepte lernt, ohne viel Übung beim Schreiben von Code zu bekommen. Wenn Sie verwirrt sind, kann das eine gute Sache sein. Es bedeutet, dass du genug verstanden hast, um zu wissen, wie kompliziert dieses Zeug ist. Je mehr Code Sie schreiben, desto komfortabler werden Sie mit Klassen, Schnittstellen und all diesen anderen Ideen.

Als nächstes müssen Sie die Unterschiede in der Art und Weise, wie Sie abstrakte Methoden deklarieren, aussortieren. Hier ist die Geschichte.

Verwenden (oder nicht verwenden) Abstract-Methoden
In einer gewöhnlichen (nicht abstrakten) Klasse In einer Schnittstelle In einer abstrakten Klasse
Sind abstrakte Methoden zulässig? Nein Ja Ja
Kann eine Methodendeklaration das Schlüsselwort abstract enthalten? Nein Ja Ja
Kann eine Methodendeklaration das Schlüsselwort default enthalten (was "nicht abstrakt" bedeutet)? Nein Ja Nein
Ohne weder das Abstract noch das default Nicht abstrakt Abstrakt Nicht abstrakt

Sowohl Schnittstellen als auch abstrakte Klassen haben abstrakte Methoden. Sie fragen sich vielleicht, wie Sie zwischen der Deklaration einer Schnittstelle und der Deklaration einer abstrakten Klasse wählen sollten. In der Tat könnten Sie drei professionelle Programmierer fragen, wie sich Schnittstellen und abstrakte Klassen voneinander unterscheiden. Wenn Sie dies tun, können Sie fünf verschiedene Antworten erhalten. (Ja, fünf Antworten, nicht drei Antworten.)

Interfaces und abstrakte Klassen sind ähnliche Bestien, und die neuen Features in Java 8 haben sie noch ähnlicher gemacht als in früheren Java-Versionen. Aber die grundlegende Idee ist über die Beziehungen zwischen den Dingen.

  • Das Erweitern einer Unterklasse entspricht einer Beziehung. Das Implementieren einer Schnittstelle repräsentiert eine
  • can do -Beziehung. Wenn Sie einen konkreteren Beweis für den Unterschied zwischen einer Schnittstelle und einer abstrakten Klasse benötigen, sollten Sie Folgendes berücksichtigen: Eine Klasse kann viele Schnittstellen implementieren, aber eine Klasse kann nur eine andere Klasse erweitern, auch wenn diese eine Klasse eine abstrakte Klasse ist. Nachdem Sie also

als öffentliche Klasse deklariert haben, verlängert Dog House HousePet

, und Sie können

Dog nicht zusätzlich zu einer Klasse Friend erweitern. Aber Sie können Dog veranlassen, eine Befriendable -Schnittstelle zu implementieren. Und dann können Sie dieselbe Dog Klasse eine Trainable Schnittstelle implementieren. Und wenn Sie einen noch deutlichen

mehr greifbaren Unterschied zwischen einer Schnittstelle und einer abstrakten Klasse haben wollen, ist hier eins für Sie: Eine Schnittstelle darf keine nicht-statischen, nicht finalen Felder enthalten. Also dort. Schnittstellen und abstrakte Klassen unterscheiden sich voneinander. Aber wenn Sie neu im Spiel sind, sollten Sie sich über den Unterschied keine Sorgen machen. Lesen Sie einfach so viel Code wie möglich und haben Sie keine Angst, wenn Sie eine abstrakte Methode sehen. Das ist alles dazu.

Verwendung abstrakter Methoden in Java - Dummies

Die Wahl des Herausgebers

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Schneller Foto-Bearbeitungsmodus ist eine abgespeckte Version des Modus "Full Photo Edit", der einfach grundlegende Fixingtools bereitstellt und mit einigen einzigartigen Funktionen aufwartet, z. B. eine Vorher-Nachher-Vorschau Ihres Bildes. Hier ist ein Schritt-für-Schritt-Workflow, den Sie im Schnellfoto-Bearbeitungsmodus verwenden können, um Ihre Fotos zu reparieren:

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Fotoeffekte in Photoshop Elements 11 funktionieren wie Anwenden von Filtern; Das Dialogfeld "Filtergalerie" bietet Ihnen zahlreiche Optionen zum Anwenden eines Filters. Das geführte Bedienfeld bietet Ihnen Filtereffekte und führt Sie dann durch die Schritte zum Anpassen von Helligkeitswerte, Ändern von Farbton und Sättigung und Durchführen weiterer Anpassungen zum Vervollkommnen des Ergebnisses. Sie ...

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Absatztyp in Photoshop Elements 11 ist ähnlich zu dem Text, den Sie in ein Textverarbeitungsprogramm eingeben, mit der Ausnahme, dass er in einem Textfeld oder einem Begrenzungsrahmen enthalten ist. Wenn Sie größere Textabschnitte haben, die Sie in ein Bild eingeben möchten, ist die Eingabe des Textes als Absatztyp die praktischste Option. Während ...

Die Wahl des Herausgebers

PHP-Anweisungen - Dummys

PHP-Anweisungen - Dummys

PHP ist eine Skriptsprache, die speziell für die Verwendung im Internet entwickelt wurde. Es enthält Funktionen, die Sie bei der Programmierung der Aufgaben unterstützen, die für die Entwicklung dynamischer Webanwendungen erforderlich sind. Diese Tabelle gibt einen kurzen Überblick über einige der Anweisungen, die Sie häufig verwenden werden: Anweisung Beschreibung array ("key" => "value", ...); Casts a ...

PHP-Schablonen-Systeme - Schablonen-Systeme

PHP-Schablonen-Systeme - Schablonen-Systeme

Können die Menge an Arbeit reduzieren, die Sie für die Erstellung einer Website in PHP benötigen. Wenn Sie eine Website erstellen, verwenden Sie häufig das gleiche Layout für die gesamte Website. Sie haben eine obere Portion, vielleicht mit einem Menü; ein Hauptinhaltsbereich; und ein unterer Teil, vielleicht mit Links oder ...

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Die ALTER Query wird verwendet, um die Struktur von eine MySQL-Datenbank. In dieser Liste wird die Syntax für die Änderungen angezeigt, die Sie wahrscheinlich vornehmen möchten: ADD-Spaltenbezeichnung ALTER-Spaltenname SET-DEFAULT-Wert ALTER-Spaltenname DROP DEFAULT CHANGE-Spaltenname newcolname-Definition DROP-Spaltenname MODIFY-Spaltenname RENAME newtablename

Die Wahl des Herausgebers

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Mit NoSQL haben Sie Hochgeschwindigkeits-Caching. Stellen Sie sich vor, Sie sind Bankangestellte und arbeiten mit drei anderen Kollegen zusammen. Jeder hat eine Reihe von Leuten, die bedient werden sollen. Einer der Kunden bleibt jedoch in der Schlange, um zu fragen, ob sein Scheck bereits eingelöst und der Betrag seinem Konto gutgeschrieben wurde. Wenn Sie ...

Wie man Einsichten aus Big Data kommuniziert - Dummies

Wie man Einsichten aus Big Data kommuniziert - Dummies

Big Data kann helfen, Einblicke zu gewinnen. Unternehmen gewinnen Wettbewerbsvorteile, wenn die richtigen Informationen zur richtigen Zeit an die richtigen Leute geliefert werden. Dies bedeutet, Erkenntnisse und Informationen aus Daten zu extrahieren und sie Entscheidungsträgern auf eine Weise zu vermitteln, die sie leicht verstehen. Schließlich sind Menschen weniger wahrscheinlich zu handeln, wenn sie ...

Zookeeper und HBase Reliability - dummies

Zookeeper und HBase Reliability - dummies

Zookeeper ist ein verteiltes Cluster von Servern, das gemeinsam zuverlässige Koordinations- und Synchronisationsdienste für Cluster-Anwendungen bereitstellt. .. Zugegeben, der Name "Zookeeper" mag auf den ersten Blick eine seltsame Wahl sein, aber wenn Sie verstehen, was es für einen HBase-Cluster tut, können Sie die Logik dahinter sehen. Beim Erstellen und Debuggen von verteilten Anwendungen ...