Erstellen Sie eine abstrakte Klasse in Java

Ein abstrakte Klasse in Java ist eine Klasse, die eine oder mehrere enthält abstrakte Methoden, die einfach Methodendeklarationen ohne Körper -, die, ohne ausführbaren Code ist, die die Klasse oder Methode implementiert. Eine abstrakte Methode ist wie ein Prototyp für eine Methode, die Methode der Rückgabetyp und Parameterliste erklärt, aber nicht eine tatsächliche Durchführung des Verfahrens bereitstellt.

Sie können nicht eine abstrakte Klasse instanziiert. Sie können jedoch eine Unterklasse erstellen, die eine abstrakte Klasse erweitert und stellt eine Implementierung der abstrakten Methoden, die von der abstrakten Klasse definiert. Sie können die Unterklasse instanziiert.

Um eine abstrakte Methode erstellen, geben Sie den Modifikator abstrakt und ersetzen Sie die Methode Körper mit einem Semikolon:

public abstract Rückgabetyp Methodenname (Parameterliste) -

Hier ein Beispiel:

public abstract int Treffer (int batSpeed) -

Um eine abstrakte Klasse zu erstellen, verwenden Sie die abstrakt auf der Klassendeklaration und mindestens eine abstrakte Methode. Beispielsweise:

public abstract class Kugel {public abstract int hit (int batSpeed) -}

Sie können eine Unterklasse von einer abstrakten Klasse wie folgt zu erstellen:

public class BaseBall erstreckt Kugel {public int hit (int batSpeed) {// Code, der Hit-Methode implementiert geht hier}}

Wenn Sie eine abstrakte Klasse, Unterklasse, muss die Unterklasse eine Implementierung für jede abstrakte Methode in der abstrakten Klasse bieten. Mit anderen Worten, muss es jedes abstrakte Methode außer Kraft setzen.

Abstrakte Klassen sind nützlich, wenn Sie einen generischen Typ erstellen möchten, die als übergeordnete Klasse für zwei oder mehr unter verwendet wird, aber die übergeordnete Klasse selbst keine eigentliche Objekt darstellen. Wenn alle Mitarbeiter entweder angestellt oder stündlich, zum Beispiel, ist es sinnvoll, eine kurze Zusammenfassung erstellen Mitarbeiter Klasse und es dann als Basisklasse verwenden, für die SalariedEmployee und HourlyEmployee Unterklassen.

Hier sind ein paar zusätzliche Details zu abstrakten Klassen:

  • Nicht alle Methoden in einer abstrakten Klasse abstrakt sein. Eine Klasse kann eine Implementierung für einige seiner Verfahren zur Verfügung stellen, andere aber nicht. In der Tat, auch wenn eine Klasse keine abstrakte Methoden verfügt, können Sie es immer noch als abstrakt deklarieren. (In diesem Fall ist die Klasse aber kann nicht instanziiert werden.)

  • Eine private Methode kann nicht abstrakt sein. Alle abstrakte Methoden müssen öffentlich sein.

  • Eine Klasse kann nicht beides sein abstrakt und Finale.

Menü