Eine abstrakte Klasse ist wie eine Blaupause für andere Klassen. Sie können ein Objekt nicht direkt aus einer abstrakten Klasse erstellen. Stattdessen verwenden Sie es als Grundlage für andere Kurse, die darauf aufbauen und die Details ergänzen können.
Abstrakte Klassen sind nützlich, wenn Sie ein allgemeines Konzept definieren möchten, das einige gemeinsame Funktionen aufweist, aber auch Raum für spezifische Details lassen möchten, die in verschiedenen Situationen variieren können. Beispielsweise könnten Sie eine allgemeine Vorstellung von einem „Tier“ haben, die gemeinsame Merkmale wie Essen oder Schlafen beinhaltet, aber verschiedene Tiere könnten auf unterschiedliche Weise essen oder schlafen.
So können Sie eine abstrakte Klasse namens Animal erstellen:
public abstract class Animal { abstract void makeSound(); // Abstract method, no body void sleep() { System.out.println("This animal sleeps."); } }
In diesem Beispiel ist makeSound() eine abstrakte Methode, das heißt, sie hat noch keinen Körper. Die Methode sleep() ist jedoch vollständig implementiert.
Jetzt erstellen wir einige Klassen, die die Animal-Klasse erweitern:
public class Dog extends Animal { void makeSound() { System.out.println("The dog barks."); } } public class Cat extends Animal { void makeSound() { System.out.println("The cat meows."); } }
Sowohl die Dog- als auch die Cat-Klasse müssen ihre eigene Version der makeSound()-Methode bereitstellen, aber sie erben die sleep()-Methode unverändert.
Eine abstrakte Klasse ist großartig, wenn Sie einige Methoden haben, die von allen untergeordneten Klassen gemeinsam genutzt werden sollten, Sie aber auch erzwingen möchten, dass einige Methoden von diesen untergeordneten Klassen definiert werden.
public abstract class Bird extends Animal { void move() { System.out.println("The bird flies."); } }
Jetzt erbt jede Klasse, die Bird erweitert, sowohl die move()-Methode als auch die sleep()-Methode von Animal, muss aber weiterhin makeSound() implementieren.
Abstrakte Klassen in Java bieten eine Möglichkeit, eine gemeinsame Grundlage für verwandte Klassen zu schaffen und gleichzeitig Raum für die Definition spezifischer Details durch diese Klassen zu lassen. Sie schaffen ein Gleichgewicht zwischen gemeinsamer Funktionalität und Flexibilität und machen Ihren Code sowohl leistungsstark als auch wiederverwendbar.
Das obige ist der detaillierte Inhalt vonAbstrakte Klassen in Java – Aufschlüsselung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!