Dalam bahasa Java, antarmuka diimplementasikan oleh kelas untuk menggunakan metode dalam antarmuka. Sebuah kelas perlu mendeklarasikan bahwa kelas tersebut mengimplementasikan satu atau lebih antarmuka menggunakan kata kunci implementasi dalam deklarasi kelas. Jika Anda mengimplementasikan beberapa antarmuka, pisahkan nama antarmuka dengan koma.
Misalnya:
classAimplementsPrintable, Addable//Class A mengimplementasikan antarmuka Printable dan Addable classDogextendsAnimalimplementsEatable, Sleepable//Animal's Dog subkelas mengimplementasikan antarmuka Eatable dan Sleepable
Jika kelas non-abstrak mengimplementasikan antarmuka, maka kelas tersebut harus mengganti semua metode di antarmuka.
Catatan: Karena metode dalam antarmuka harus berupa metode abstrak publik , ketika kelas mengesampingkan metode antarmuka, kelas tersebut tidak hanya harus menghapus pengubah abstrak, tetapi juga menyediakan badan metode, dan hak akses metode harus dimodifikasi secara jelas dengan publik.
Jika kelas non-abstrak yang mengimplementasikan antarmuka mengimplementasikan metode di antarmuka, hal ini setara dengan memberikan fungsi perilaku spesifik dari metode tersebut. Pengguna juga dapat menyesuaikan antarmuka, dan file sumber Java dapat terdiri dari kelas dan antarmuka.
Jika suatu kelas mendeklarasikan untuk mengimplementasikan antarmuka tetapi tidak mengesampingkan semua metode di antarmuka, maka kelas tersebut harus berupa kelas abstrak. Artinya, kelas abstrak dapat mengesampingkan metode di antarmuka atau secara langsung memiliki metode di antarmuka antarmuka.
Detail:
Program dapat menggunakan nama antarmuka untuk mengakses konstanta dalam antarmuka, tetapi jika suatu kelas mengimplementasikan antarmuka tersebut, maka kelas tersebut dapat menggunakan konstanta dalam antarmuka secara langsung di badan kelas.
Saat mendefinisikan antarmuka, jika kata kunci interface didahului dengan kata kunci public, maka disebut public interface , dan public interface dapat diimplementasikan oleh kelas mana pun; jika kata kunci public tidak ditambahkan, maka disebut dengan Friendly Interface , dan antarmuka yang ramah dapat digunakan dengan kelas itu. Antarmuka diimplementasikan oleh kelas-kelas dalam paket yang sama.
Jika kelas induk mengimplementasikan antarmuka, maka subkelas secara alami akan mengimplementasikan antarmuka tersebut. Artinya, subkelas tidak perlu lagi menggunakan kata kunci implementasi untuk mendeklarasikan implementasi antarmuka ini.
Antarmuka juga dapat diwariskan, yaitu Anda dapat mendeklarasikan bahwa suatu antarmuka adalah sub-antarmuka dari antarmuka lain melalui kata kunci extends. Karena metode dan konstanta di antarmuka adalah umum, sub-antarmuka akan mewarisi semua metode dan konstanta di antarmuka induk.
Catatan: Antarmuka yang disediakan oleh Java semuanya ada dalam paket yang sesuai melalui pernyataan import, tidak hanya kelas dalam paket yang dapat diperkenalkan, tetapi juga antarmuka dalam paket tersebut dapat diperkenalkan.
Misalnya:
importjava.io.*;//Saat ini, tidak hanya kelas dalam paket java.io yang diperkenalkan, tetapi juga antarmuka dalam paket tersebut diperkenalkan