Java, abstrakte Klasse für Anfänger

Einführung

Dieser Artikel ist ein Memorandum. Obwohl es sich um einen Inhalt auf Referenzebene handelt, lautet der in diesem Artikel zu veröffentlichende Code ~~ ** Der Fehler ** ist das Zentrum. Dies dient dazu, den fehlerhaften Teil während der eigentlichen Codierung zu veröffentlichen und zur Selbstreflexion zu veröffentlichen ~~. Außerdem werde ich hier nicht auf den tiefen Teil eingehen, da ich ihn später überprüfen werde, während ich auch die Fragen zur Java Silver-Prüfung studiere.

Umgebung

Sprache: Java11, JDK13.0.2 Betriebsumgebung: Windows 10

Klassen, die keine Objekte erstellen können

Alle Klassen, mit denen ich mich bisher befasst habe, wurden nach dem Erstellen des Objekts mit der Idee erstellt. Diese ** abstrakte Klasse selbst kann jedoch keine Objekte erstellen und instanziieren **. Die ** abstrakte Klasse ** ist diesmal eine Klasse, die "den Inhalt durch Erstellen einer Klasse bestimmen" und "beim Erstellen einer Klasse, die diese abstrakte Klasse erbt, nur diese Funktion hinzufügen" muss. Denken Sie in diesem Sinne über den Inhalt nach.

Informationen zur abstrakten Klasse und ihren Methoden ** Methoden, die den Verarbeitungsinhalt nicht definieren **. Die abstrakte Klasse zeichnet sich durch eine Methode (abstrakte Methode) ** aus, die das Qualifikationsmerkmal "abstrakt" hat und den Verarbeitungsinhalt nicht vor Ort definiert. Indem der "Klasse" das "abstrakte" vorangestellt wird, ist die abstrakte Klasse eine abstrakte Klasse. Kann als deklariert werden.

abstractClass.java


abstract class Wild
{
  protected int number;
  public void getNumber(int n)
  {
    number = n;
    System.out.println("Diese Katze" + number + "Dies ist die zweite Katze.");
  }

  abstract void show();

}

Als Einschränkung. In der abstrakten Klasse ist eine abstrakte Methode erforderlich, aber ** eine konkrete Methode (eine Methode ohne "abstrakt") kann implementiert werden, und die konkrete Methode kann als geerbte Methode in der Unterklasse ** verwendet werden.

Abstrakte Methoden stellen Anforderungen

Unterklassen, die von der abstrakten Klasse erben, müssen die konkrete Methode implementieren, indem sie basierend auf der abstrakten Methode mit ** abstract ** überschrieben werden. Überschreiben bedeutet

  1. Gleiche Signatur (Methodenname, in diesem Fall wartet die Argumentbeziehung auf die Implementierung)
  2. Gleiche oder lockerere Zugriffsmodifikatoren
  3. Der Rückgabetyp ist grundsätzlich der gleiche (ohne kovariante Rückgabewerte).

Es ist notwendig, diese Bedingung zu erfüllen.

Für Unterklassen ist eine Methode mit demselben Namen erforderlich. Wenn Sie den Inhalt der abstrakten Klasse nicht gut verstehen, werden Sie weiterhin Fehler auslösen.

HouseCat.java


class HouseCat extends Wild
{
  public void see(int num)
  {
    number = num;
    System.out.println("Diese Katze" + number + "Dies ist die zweite Katze.");
  }
  //Warte eine Minute, zeig()Wo ist es?
}

abschließend

Mit dem Operator "instanceof" können Sie überprüfen, ob die Variablen in Abschnitt 2 zur selben Klasse gehören **. Zitiert aus Java SE11 Silver Problem Collection (allgemein bekannt als Kuromoto).

a instanceof b true, wenn a eine Instanz derselben Klasse wie b oder eine Unterklasse von b ist

Es ist für den Prüfmechanismus geeignet, da es in der Hauptfunktion in den bedingten Zweig integriert werden kann.

Für das nächste Mal ist eine ** Schnittstelle ** geplant, die der diesmal behandelten abstrakten Klasse sehr ähnlich ist, aber ich möchte diese Unterschiede sorgfältig bestätigen.

Referenz

Ich schreibe und kompiliere Variablen und Ausdrücke so oft wie möglich selbst. Wenn ich sie also vollständig zitieren möchte, werde ich sie beschreiben.

Easy Java 7th Edition Java SE11 Silver Problem Collection (allgemein bekannt als Kuromoto)

Recommended Posts

Java, abstrakte Klasse für Anfänger
Java ab Anfänger, logischer Operator / bedingter Operator
Java ab Anfänger überschreiben
Java, Instanz für Anfänger
Java ab Anfänger, Vererbung
Java-Leben von vorne anfangen
Über Java Abstract Class
Java abstrakte Methoden und Klassen
Java, Überlastungskonstruktor ab Anfänger
Klassen und Instanzen Java für Anfänger
Java für Anfänger, Variablen und Typen
Java ab Anfänger, verschachtelt / Pause / Weiter
Java, if-Anweisung / switch-Anweisung ab Anfänger
Einführung in Java ab 0 Teil 1
JAVA lernen Geschichte abstrakte Klassen und Methoden
Java, für Anweisung / while-Anweisung ab Anfänger
IntelliJ ab 1
Java (abstrakte Klasse)
[Java] Abstrakte Klasse
Programmieranfänger lernen PHP aus einer Java-Perspektive.
Java ab Anfänger, Klassendeklaration / Objekterzeugung
Für Java-Ingenieure, die ab sofort Kotlin starten
Java abstrakter Modifikator [Hinweis]
Rufen Sie Java von JRuby aus auf
Änderungen von Java 8 zu Java 11
Summe von Java_1 bis 100
Java-Klasse, Instanz, Objekt
Eval Java-Quelle von Java
[Java] Über anonyme Klassen
Bild-in-Bild ab iOS14
Greifen Sie über Java auf API.AI zu
Von Java zu Ruby !!
Laden von Klassen aus dem Pfad
[Java] Plattformen zur Auswahl für die Java-Entwicklung ab sofort (2020)
Java (Klasse und Instanz)
Über die abstrakte Klasse von Java
[Für Anfänger] Erläuterung von Klassen, Instanzen und Statik in Java
Zusammenfassung der erweiterten Vererbung, Schnittstelle -java
Migration von Cobol nach JAVA
[Java] Anfängerverständnis von Servlet-②
Java-Debug-Ausführung [für Java-Anfänger]
[Java] Grundlegende Aussage für Anfänger
(Hinweis) Java-Klassen / Variablen / Methoden
[Java] Generics-Klasse und Generics-Methode
Elastic Search Indexerstellung aus Java
Neue Funktionen von Java7 bis Java8
[Java] Anfängerverständnis von Servlet-①
Stellen Sie eine Verbindung von Java zu PostgreSQL her
Objektorientierte Zusammenfassung von Anfängern (Java)
Java-Lernnotiz (abstrakte Klasse)
Java für Anfänger, Daten verstecken
[Java] Klassen, Konstruktoren, statische Elemente
Java-Anfänger lesen Hello World
Verwenden von Docker von Java Gradle
Von ineffektivem Java zu effektivem Java
JavaScript von Java aus gesehen
Java-Anwendung für Anfänger: Stream
Führen Sie Nicht-Java-Anweisungen von Java aus