Heim > Java > javaLernprogramm > Hauptteil

Abstrakte Klassen in Java

WBOY
Freigeben: 2023-09-22 11:53:07
nach vorne
1464 Leute haben es durchsucht

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;
   }
}
Nach dem Login kopieren

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();
    }
 }
Nach dem Login kopieren

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  
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage