Abstrakte Klasse: Verwenden Sie das Schlüsselwort abstract. Wenn eine Klasse durch abstract geändert wird, wird sie als abstrakte Klasse bezeichnet.
Wenn Abstract eine Methode ändert, wird diese Methode als abstrakte Methode bezeichnet.
Wenn Abstract eine Klasse ändert, wird diese Klasse als abstrakte Klasse bezeichnet.
Wenn eine Klasse eine abstrakte Klasse erbt, muss sie die abstrakte Methode in der abstrakten Klasse implementieren.
Abstrakte Schlüsselwortverwendung:
Methodenkörper: Der Inhalt der geschweiften Klammern in der Methode ist der Methodenkörper.
1. Wenn eine Methode keinen Methodenkörper hat, muss die Methode mit Abstract geändert werden.
2. Wenn eine Klasse eine abstrakte Methode enthält, muss die Klasse mit abstract geändert werden, was eine abstrakte Klasse ist.
3. Wenn eine nicht abstrakte Klasse diese abstrakte Klasse erbt, müssen alle abstrakten Methoden in dieser nicht abstrakten Klasse neu geschrieben werden.
4. Eine abstrakte Klasse kann nicht abstrakte Methoden haben.
5. In einer abstrakten Klasse kann es Konstruktormethoden geben. Die Funktion besteht darin, Unterklassen die Initialisierung von Variablen in der übergeordneten Klasse zu ermöglichen.
6. Abstrakte Klassen können keine Objekte erstellen
Grund: Wenn Sie ein Objekt erstellen, kann das Objekt die abstrakte Methode aufrufen, daher ist es sinnlos, die abstrakte Methode aufzurufen.
7. Abstrakte Methoden müssen nicht in einer abstrakten Klasse erscheinen.
Verwendungsszenarien des abstrakten Schlüsselworts:
Wenn wir eine Sache beschreiben, stellen wir fest, dass die Sache ein bestimmtes Verhalten aufweist, dieses Verhalten jedoch nicht spezifisch ist. Dann kann dieses Verhalten zu diesem Zeitpunkt extrahiert werden Ein Verhalten, das nicht implementiert wurde, wird als abstraktes Verhalten bezeichnet. Dann müssen Sie zu diesem Zeitpunkt eine abstrakte Klasse verwenden.
//Die durch das Schlüsselwort abstract geänderte Klasse wird als abstrakte Klasse bezeichnet.
abstract class Animal
{
String name;
String color;
abstract public void run ();//Abstrakte Methode hat keinen Körper und keine konkrete Implementierung der Methode.
public void eat (){
System.out.println("Animals are eat");
}
}
//Yifei Eine Zusammenfassung Die Klasse erbt eine abstrakte Klasse und muss alle Methoden in der abstrakten Klasse implementieren.
class Dog erweitert Animal
{
//Sie müssen die run-Methode in der übergeordneten Klasse überschreiben
public void run(){
System. out. println(name "Running fast");
}
}
class Fish erweitert Animal
{
//Umschreibungsmethode: Es ist kein Umschreiben der Ausführungsmethode erforderlich .
//Es sollte umgeschrieben werden, muss ich aber nicht. Dies kann leicht zu Problemen führen.
//Überlegen Sie sich eine Möglichkeit, Unterklassen zu zwingen, eine Methode in der übergeordneten Klasse zu überschreiben
public void run(){
System.out.println(name "Youde Soon") ;
}
}
class Demo8
{
public static void main(String[] args)
{
Dog d = new Dog( );
d.name = "Caucasus";
d.run();
d.eat();
Fish fish = new Fish();
fish .name = " Wal";
fish.run();
fish.eat();
}
}