Kelas abstrak adalah kelas yang mengandung konsep abstrak sehingga tidak mungkin mempunyai 
instans. Kelas abstrak dapat mengandung metode abstrak, yaitu metode yang tidak memiliki 
implementasi. Dengan begitu, kelas abstrak dapat menentukan bagaimana konsep abstrak tersebut 
diimplementasikan oleh subkelas yang akan menggunakannya. Kelas abstrak tidak harus memiliki 
metode abstrak, namun setiap kelas yang memiliki metode abstrak haruslah menjadi kelas 
abstrak,untuk membuat method abstract, tinggal menulis metodedeklarasi tanpa tubuh dan 
menggunakan abstrak kata kunci.Penulisan seperti berikut:
  public abstract <nama method>{
  //variabel
instant
  //method
non abstrak
  //method
abstrak
  }
Interface,
Kelas ini sering disebut pure
abstract. Sebuah interface dapat dibayangkan sebagai kelas 
abstrak yang seluruh methodnya adalah abstrak. Interface digunakan pada kelas-kelas lain dengan 
cara diimplementasikan dengan menggunakan key
word implements. Sedangkan untuk 
membentuknya menggunakan key
word interface dengan aturan seperti berikut ;
interface  {
  //definisi
konstanta
  //
method abstrak
  }
selanjutnya download disini 
 Abstract Class & Java Interface