Abstract class dalam java digunakan untuk mendeklarasikan karakteristik
umum dari subclass.Abstract class tidak bisa diinstansiasi sama halnya dengan kelas interface.Abstrat class hanya di gunakan sebagai super class,tapi juga bisa di turunkan dari class abstract lainnya. Untuk mendeklarasikan sebuah abstract class digunakan keyword abstract, [abstract] class [class _name] menggambarkan carakteristik dari kelas abstract tersebut,bedanya yakni sebuah abstract kelas bisa berisi method tanpa diimplementasikan artinya sebuah method tanpa body,method seperti ini di sebut method abstract.Untuk pemdeklarasiannya di gunakan keyword abstract [abstract] modifer class [class_name] INNER CLASS !ava mengi"inkan kita untuk mendefenisikan suatu kelas di dalam kelas lainnya.#elas macam ini dei namaka dengan inner class $kelas bagian dalam%.&nner class dapat mengakses data dan method dari kelas yang berada di bagian luarnya,meskipun data dan method tersebut bersifat private.'ebagai contoh ,apabila kelas ( di defenisikan dalam kelas A,maka kelas ( dapat mengakses semaua data dan method yang terdapat di class A.'ebaliknya,bagian private di class ( tidak dapat di akses oleh class A.)endeklrasiannya adalah Class OuterClass { Int data = 5; Class InnerClass{ Int data2 = 10; Void method(){ System,out.rintln(data); System.out.rintln(data2); ! ! "u#li$ stati$ %oid main(Strin& ar&s'(){ OuterClass o$ = ne) OuterClass(); InnerClass i$ * o$.ne) InnerClass(); System,out.rintln(data); System.out.rintln(data2); I$ method(); ! ! *inal +lass ,alam java juga memungkinkan untuk mendeklarasikan class-class yang tidak lama menjadi subclass.+lass ini dinamakan class fnal.Untuk mendeklarasikan class utnuk menjadi .nal kita hanya menambahkan kata kunci fnal dalam deklarasi class. (entuk umum dinal class [modi.er] .nal class indenti.er / 00 class body 1 +ontohnya jika kita ingin class person untuk di deklarasikan .nal,kita tulis )ublic fnal class person / 00area kode 1 (eberapa class dalam java didekalarasikan secara .nal untuk memastikan sifatnya tidak dapat di-o%erride.+ontoh-contoh dari class ini adalah integer,,ouble,dan string.&ni memungkinkan dalam jva membuat method yang tidak dapat di override.2ethod ni dapat kita penggil method fnal.Untuk mendeklarasikan method untk menjadi .nal,kita tambahkan kata kunci ke dalam deklarasi method.+ontohnya ,jika kita ingin metod get3ame dalam class )erson untuk di deklarasikan .nal kita tulis )ublic .nal 'tring get3ame$%/ return name4 1 2ethod static juga secara otomatis .nal.&ni artinya Anda tidak dapat membuatnya override. &3567*A+6 &nterface atau antar muka pada bahasa pemrograman java sangat mirip dengan kelas.5api tanpa atribut kelas dan memiliki metode yang di deklarasikan tanpa isi.,eklarasi metode pada sebuah interface dapat di implimentasikan oleh kelas lain.'ebuah kelas dapat mengimplimentasikan lebih dari satu inter+a$e bahwa kelas ini akan mendeklarasikan metode pada intera$e yg di butuhkan kelas itu sekaligus mendefenisikan isinya pada kode program kelas itu.2etode pada interface yang diimpelementasikan pada suatu kekas harus sama persis dengan yang ada pada interface.2isalnya pada interface terdapat deklarasi tin&,at-,ses inter+a$e .amaInter+a$e{ tie/,em#alian nama0ethod1(da+tar *arameter); tie/,em#alian nama0ethod2(da+tar *arameter); 111 tie/,em#alian nama0ethod.(da+tar *arameter); tie %aria#el/2nal1 = nilai; tie %aria#el/2nal2 = nilai; 11. 3ie %aria#el/2nal. = nilai; ! )ackage )ackage adalah sebuah container atau kemasan yang dapat di gunakan utnuk mengelompokkan kelas-kelas sehingga memugnkinkan beberpa kelas yang bernama sama disimpan dalam package yang berbeda.'ebuah package pada java dapat di gunakan oleh package yang lain ataupun kelas -kelas di luar package.!ika dalam bahasa pemrograman java terdapat kode import e8ample.animal.2amalia4maka program tersebut memakai kelas mamalia yang ada package e8ample.animal.!ika terdapat kode import e8ample.animal.94maka program tersebut memakai semua kelas yang ada pada package e8ample.animal.)ackage pada bahasa pemrograman jva di nyatakan dengan kode Package nama_package; 2isalanya )ackage e8ample.animal4 :ang di tulis pada bagian atas kode program kelas anggota package.2isal sebuah kelas dengan nama 2amalia ada di dalam package dengan nama e8ample.animal maka .le yang menyimpan kode program kelas mamalia di masukkan dalam direktori;contoh package yang ada dalam library java antara lain jva.util.java8.swing,dll.