Heim  >  Artikel  >  Java  >  Abstrakte Klassen in Java

Abstrakte Klassen in Java

WBOY
WBOYnach vorne
2023-09-22 11:53:071455Durchsuche

Abstrakte Klassen in Java

Eine Klasse, die das Schlüsselwort abstract in ihrer Deklaration enthält, wird abstrakte Klasse genannt.

  • Eine abstrakte Klasse kann abstrakte Methoden enthalten oder auch nicht, d. h. Methoden ohne Körper ( public void get(); )
  • Wenn eine Klasse jedoch mindestens eine abstrakte Methode hat, muss die Klasse als abstrakt deklariert werden.
  • Wenn eine Klasse als abstrakt deklariert ist, kann sie nicht instanziiert werden.
  • Um eine abstrakte Klasse zu verwenden, müssen Sie sie von einer anderen Klasse erben und Implementierungen der darin enthaltenen abstrakten Methoden bereitstellen.
  • Wenn Sie eine abstrakte Klasse erben, verfügen Sie über Implementierungen für alle darin enthaltenen abstrakten Methoden.

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen

In Verbindung stehende Artikel

Mehr sehen