Beberapa poin utama yang harus Anda perhatikan saat menggunakan kelas abstrak:
Kelas yang berisi satu atau lebih metode abstrak harus dinyatakan sebagai kelas abstrak.
Mendeklarasikan kelas sebagai kelas abstrak tidak selalu berisi metode abstrak.
Secara umum diyakini bahwa metode spesifik tidak boleh dimasukkan dalam kelas abstrak.
Kelas abstrak tidak dapat dipakai, yaitu, objek kelas ini tidak dapat dibuat.
Contoh kode:
Salinan kode adalah sebagai berikut:
impor java.util.*;
/**
* Program ini menunjukkan kelas abstrak.
* @Version 1.01 2004-02-21
* @Author Cay Horstmann
*/
Persontest kelas publik
{
public static void main (string [] args)
{
Orang [] orang = orang baru [2];
// Isi array orang dengan benda siswa dan karyawan
People [0] = karyawan baru ("Harry Hacker", 50000, 1989, 10, 1);
orang [1] = siswa baru ("Maria Morris", "Ilmu Komputer");
// Cetak nama dan deskripsi semua objek orang
untuk (orang P: orang)
System.out.println (p.getName () + "," + p.getDescription ());
}
}
orang kelas abstrak
{
orang publik (string n)
{
name = n;
}
string abstrak publik getDescription ();
getName string publik ()
{
nama pengembalian;
}
nama string pribadi;
}
Karyawan kelas memperluas orang
{
Pegawai Publik (String N, Double S, Int Year, Int Month, Int Day)
{
super (n);
Gaji = S;
Kalender Gregoriancalendar = Gregoriancalendar baru (tahun, bulan - 1, hari);
hireday = calendar.getTime ();
}
getsalary ganda publik ()
{
kembali gaji;
}
Tanggal Publik GetHireday ()
{
return hireday;
}
string publik getDescription ()
{
return string.format ("seorang karyawan dengan gaji $%. 2f", gaji);
}
public void raisisalary (double bypercent)
{
gaji ganda = gaji * bypercent / 100;
Gaji += Naikkan;
}
gaji ganda pribadi;
kencan pribadi sewa;
}
Siswa kelas memperluas orang
{
/**
* @param n nama siswa
* @param m jurusan siswa
*/
Siswa Publik (String N, String M)
{
// Lewati N ke Superclass Constructor
super (n);
Mayor = M;
}
string publik getDescription ()
{
mengembalikan "seorang siswa jurusan" + Mayor;
}
Private String Major;
}
Di blok kode:
Salinan kode adalah sebagai berikut:
untuk (orang P: orang)
System.out.println (p.getName () + "," + p.getDescription ());
Dalam p.getDescription (), metode yang akan merujuk pada objek subkelas dari subkelas tertentu.
GetDescription () di kelas orang tidak dapat dihilangkan karena kompiler hanya memungkinkan metode panggilan yang dinyatakan di kelas.