Abstract Class :
Class yang memiliki 1 atau beberapa abstract method
Abstract method : method yang tidak memiliki definisi method (method body), definisi methodnya akan di lengkapi/diimplementasi oleh class turunannya.
Semua abstract method yang ada dalam abstract class wajib diimplementasi/dilengkapi oleh semua class turunan (sub class) yang bukan abstract.
Class yang bukan abstract di sebut concrete class
Jika ada abstract yang memiliki class turunan abstract juga , class turunan abstract ini boleh mendifinisikan abstract method pada abstract class pertama boleh tidak, missal pada class abstract utama memiliki method m2 dan m3 pada class abstract turunannya hanya mendifisikan abstract m2 tetapi juga tidak harus mendefinisikan semua method yang ada pada abstract utama ( atau bisa di katakan bisa di kosongi karena class abstract turunannya tidak wajib mendefinisikan abstract method), tetapi pada class biasa harus mendifisikan sisa method pada class abstract utama seperti yang kurang tadi ialah method m3 maka pada class biasa harus mendefinisikan method abstract m3 tersebut tetapi berbeda lagi ketika class abstract turunan sama sekali tidak mendefinisikan abstract method maka class biasa harus mendefinisikan semua method yang berada pada class abstract utama. Contohnya sebagai berikut :
Interface bukan merupakan sebuah class. Interface menggunakan kata implements. Dalam interface hanya berisi method abstract atau semua method abstractnya, tanpa penulisan keyword abstract. Interface dapat di gunakan oleh sebuah class dengan cara penggunaan “implements” agar bisa mengakses interface yang telah di buat. Class yang menggunakan implements interface wajib mendefinisikan / implementasi semua method pada interface tersebut.
Pada interface hanya memanggil method abstract semuanya.
Pada interface bisa sekaligus untuk memanggil class turunan dan interface itu sendiri , Contoh seperi di bawah ini :missal ada class utama MyClass dan memiliki class turunan T dan juga memiliki class interface A dan B.
Public class MyClass extends T implements A,B, … {
}