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.
Sprache: Java11, JDK13.0.2 Betriebsumgebung: Windows 10
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.
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
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?
}
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.
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