Kelas yang dimodifikasi dengan kata kunci abstract kita sebut sebagai abstract class , yaitu abstract class , misalnya:
kelas abstrakA{…}
Kami menyebut metode yang dimodifikasi dengan kata kunci abstrak sebagai metode abstrak , yaitu metode abstrak , misalnya:
abstrak int max(int x,int y);
Melihat:
1) Untuk metode abstrak, hanya deklarasi yang diperbolehkan, dan implementasi tidak diperbolehkan, yaitu tidak ada badan metode, dan final dan abstrak tidak boleh digunakan untuk memodifikasi metode atau kelas pada saat yang sama, dan statis adalah tidak diperbolehkan untuk mengubah metode abstrak, yaitu metode abstrak harus berupa metode instan.
2) Kelas abstrak dapat memiliki metode abstrak atau metode non-abstrak, tetapi kelas non-abstrak tidak dapat memiliki metode abstrak.
Misal: metode max() pada kelas A merupakan metode abstrak, dan metode min() merupakan metode normal (metode non-abstrak).
abstractclassA{abstractintmax(intx,inty);intmin(intx,inty){returnx<y?x:y;}}
Untuk kelas abstrak, Anda tidak dapat menggunakan operator baru untuk membuat objek kelas ini. Jika kelas non-abstrak adalah subkelas dari kelas abstrak, maka kelas tersebut harus mengganti metode abstrak dari kelas induk dan memberikan isi metode tersebut bahwa itu tidak bisa Alasan mengapa diperbolehkan menggunakan final dan abstrak untuk memodifikasi metode atau kelas pada saat yang bersamaan.
Kita dapat menggunakan kelas abstrak untuk mendeklarasikan suatu objek. Meskipun objek tersebut tidak dapat dibuat menggunakan operator baru, objek tersebut dapat menjadi objek upcast dari objek subkelasnya, sehingga objek tersebut dapat memanggil metode yang ditimpa oleh subkelas tersebut.
Catatan: Kelas abstrak mungkin tidak memiliki metode abstrak. Jika kelas abstrak adalah subkelas dari kelas abstrak, kelas tersebut dapat mengesampingkan metode abstrak dari kelas induk atau mewarisi metode abstrak dari kelas induk.