1.. Abstrakte Klasse:
(1). Die abstrakte Klasse wird an die gesamte Klasse abstrahiert, einschließlich Attributen und Verhaltensweisen. Die Java -Abstraktionsklasse wird als Java -Schnittstelle verwendet, um einen neuen Typ zu deklarieren. Und als Ausgangspunkt einer Art Strukturstruktur.
(2).
Kopieren Sie den Code -Code wie folgt:
Öffentliche abstrakte Klasse Abstractdemo {
/**Eigentum*/
Privater Zeichenfolge Name;
/**Verfahren*/
öffentliche abstrakte void fun ();
}
(3).
A: Es gibt nicht unbedingt eine abstrakte Methode in der abstrakten Klasse, aber die Klasse mit abstrakten Methoden muss als abstrakte Klassen definiert werden.
B: In der Java -Sprache gibt es zwei Typen, eine ist eine bestimmte Klasse und die andere ist eine abstrakte Kategorie.
Die spezifische Klasse kann instanziiert werden, und die abstrakte Klasse kann nicht instinkt sein.
C: Bei abstrakten Klassen können Sie bei der Abstract -Klasse eine neue Methode hinzufügen, und die Unterklasse kann nicht geändert werden.
D: Die Abstraktionsmethode wird nur deklariert und es gibt keine spezifische Implementierung. Die abstrakte Klasse existiert für die Vererbung.
E: Für eine übergeordnete Klasse muss diese Methode als abstrakte Methode deklariert werden, wenn eine ihrer Methoden in der übergeordneten Klasse in der übergeordneten Klasse nach den tatsächlichen Bedürfnissen der Unterklasse implementiert werden muss. Diese Klasse kann auch sein, dass sie zu einer Abstract von Zusammenfassung wurde.
2. Schnittstelle:
(1). Konzept: Schnittstelle ist eine Abstraktion des Verhaltens. Die Schnittstelle ist an das lokale (Verhalten) abstrahiert.
(2).
Kopieren Sie den Code -Code wie folgt:
öffentlicher Schnittstellen -Test {
/** abstrakte Methode*/
öffentliche abstrakte void fun ();
}
(3).
Die Schnittstelle kann Variablen und Methoden enthalten, die Variablen in der Schnittstelle werden jedoch als öffentliches statisches Finale verborgen. Die Methode ist als öffentliche abstrakte Methode versteckt und kann nur die öffentliche abstrakte Methode sein.
3.. Die Unterschiede und Verbindungen zwischen Schnittstellen und abstrakten Klassen:
(1).
(2).
(3). Wenn eine Klasse eine bestimmte abstrakte Klasse erbt, muss die Unterklasse eine Art abstrakter Klasse sein und die Schnittstellenimplementierung ist oder nicht.
(4). Es können allgemeine Methoden für abstrakte Methoden in abstrakten Klassen geben. Wenn es sich um eine abstrakte Methode handelt, gibt es nur eine Methode der Methode. Wenn es sich um eine allgemeine Methode handelt, gibt es sowohl Methoden als auch Methoden.
4. Gründe für die Verwendung der Schnittstelle:
(1). Weil Java allein geerbt wird.
(2). Jede Klasse in einer Klassenstruktur kann eine Schnittstelle erreichen.
(3).
5. Frage:
In dem Buch "Java Programming Thank" ist die abstrakte Klasse als "Klasse, die abstrakte Methoden enthalten" definiert. Später wird jedoch festgestellt, dass eine Klasse, wenn eine Klasse keine abstrakten Methoden enthält, nur eine abstrakte Klassenklasse ist, die durch Abstract modifiziert ist. Mit anderen Worten, abstrakte Klassen enthalten nicht unbedingt abstrakte Methoden. Denn wenn eine abstrakte Klasse keine abstrakten Methoden enthält, warum wird sie dann als abstrakte Klasse entwickelt?
Persönliches Verständnis:
Der Zweck der abstrakten Kategorie wird in der Definition verwendet. Die abstrakte Methode in der abstrakten Klasse besteht darin, die Unterklassen abstrakte Klassen zu erben, um abstrakte Methoden in der abstrakten Klasse zu erreichen und unterschiedliche Funktionen entsprechend den Bedürfnissen von Unterklassen zu erreichen.