Eine Klasse, die das Schlüsselwort abstract in ihrer Deklaration enthält, wird abstrakte Klasse genannt.
Beispiele
In diesem Abschnitt finden Sie Beispiele für abstrakte Klassen. Um eine abstrakte Klasse zu erstellen, verwenden Sie einfach das Schlüsselwort abstract vor dem Schlüsselwort class in der Klassendeklaration.
/* File name : Employee.java */ public abstract class Employee { private String name; private String address; private int number; public Employee(String name, String address, int number) { System.out.println("Constructing an Employee"); this.name = name; this.address = address; this.number = number; } public double computePay() { System.out.println("Inside Employee computePay"); return 0.0; } public void mailCheck() { System.out.println("Mailing a check to " + this.name + " " + this.address); } public String toString() { return name + " " + address + " " + number; } public String getName() { return name; } public String getAddress() { return address; } public void setAddress(String newAddress) { address = newAddress; } public int getNumber() { return number; } }
Sie können beobachten, dass die Employee-Klasse bis auf die abstrakten Methoden mit einer normalen Klasse in Java identisch ist. Die Klasse ist jetzt abstrakt, verfügt aber weiterhin über drei Felder, sieben Methoden und einen Konstruktor.
Jetzt können Sie versuchen, die Employee-Klasse zu instanziieren, indem Sie -
/* File name : AbstractDemo.java */ public class AbstractDemo { public static void main(String [] args) { /* Following is not allowed and would raise error */ Employee e = new Employee("George W.", "Houston, TX", 43); System.out.println("\n Call mailCheck using Employee reference--"); e.mailCheck(); } }
Wenn Sie die obige Klasse kompilieren, wird der folgende Fehler angezeigt -
Employee.java:46: Employee is abstract; cannot be instantiated Employee e = new Employee("George W.", "Houston, TX", 43); ^ 1 error
Das obige ist der detaillierte Inhalt vonAbstrakte Klassen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!