Rumah  >  Artikel  >  Java  >  Kelas abstrak di Jawa

Kelas abstrak di Jawa

WBOY
WBOYke hadapan
2023-09-22 11:53:071468semak imbas

Kelas abstrak di Jawa

Kelas yang mengandungi kata kunci abstrak dalam pengisytiharannya dipanggil kelas abstrak.

  • Kelas abstrak mungkin atau mungkin tidak mengandungi kaedah abstrak, iaitu kaedah tanpa badan ( public void get(); )
  • Walau bagaimanapun, jika kelas mempunyai sekurang-kurangnya satu kaedah abstrak, kelas itu mesti diisytiharkan abstrak.
  • Jika kelas diisytiharkan abstrak, ia tidak boleh dibuat seketika.
  • Untuk menggunakan kelas abstrak, anda mesti mewarisinya daripada kelas lain dan menyediakan pelaksanaan kaedah abstrak di dalamnya.
  • Jika anda mewarisi kelas abstrak, anda mempunyai pelaksanaan untuk semua kaedah abstrak di dalamnya.

Contoh

Bahagian ini memberikan anda contoh kelas abstrak. Untuk membuat kelas abstrak, hanya gunakan kata kunci abstrak sebelum kata kunci kelas dalam pengisytiharan kelas.

/* 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;
   }
}

Anda boleh perhatikan bahawa kelas Pekerja adalah sama seperti kelas biasa di Jawa kecuali kaedah abstrak. Kelas kini abstrak, tetapi ia masih mempunyai tiga medan, tujuh kaedah, dan pembina.

Kini anda boleh cuba membuat instantiate kelas Pekerja dengan -

/* 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();
    }
 }

Apabila anda menyusun kelas di atas ia akan memberikan ralat berikut -

Employee.java:46: Employee is abstract; cannot be instantiated
Employee e = new Employee("George W.", "Houston, TX", 43); ^ 1 error  

Atas ialah kandungan terperinci Kelas abstrak di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam