Interface
About interface:
* Interface adalah kumpulan method-method tanpa implementasi bahkan tidak boleh mempunyai body >> {} >> abstract
* Tujuan dibuat interface adalah untuk memaksa kelas-kelas yang mengimplementasikan interface tersebut melakukan overide method abstrak milik interface
* Interface adalah semacam kelas abstract tetapi hanya boleh mempunyai anggota method abstract dan variabel konstan
* Walaupun tidak dideklarasikan sebagai public abstract, interface selalu public abstract
* Interface hanya dapat mendeinisikan konstanta
* Interface biasa digunakan untuk standarasiasi method atau konstanta
* Class yang mengextends interface dipaksa untuk mengoverride semua method dan definisi konstanta pada interface
* Modifier yang digunakan hanya public atau tidak sama sekali. Jika tidak menggunakan modifier maka interface tersebut hanya dapat diakses dalam package yang sama
* Semua method yang diimplemetasikan harus public
* Jika kita tidak mengimplementasikan semua method yang ada pada interface, maka class tersebut harus dideklarasikan sebagai abstract class
Bentuk umum pendeklarasian interface:
interface
// method tanpa definisi
// definisi konstanta
}
Contoh:
interface Motor {
int BBM = 4500;
void starting();
void stopping();
}
NB:
* Secara eksplisit tanpa menuliskannya sebenarnya int BBM sudah mempunyai penentu public static final. Jadi tidak usah dituliskan
* Secara eksplisit tanpa menuliskannya sebenarnya method strating dan stopinh sudah mempunyai penentu public abstract. Jadi tidak usah dituliskan
Interfacepun juga bisa diwariskan
Contoh:
interface Motor {
int BBM = 4500;
public void starting();
public void stopping();
}
interface motorGede extends Motor{
int harga = 20000000;
public void service();
}
Penggunaan interface dengan keyword implements.
// Testing.java
interface HargaBBM {
int harga = 4500;
public void cetak();
}
class Berita implements hargaBBM() {
private int hargaNOW = 5000;
public void cetak() {
if (this.hargaNOW == harga) {
System.out.println(“Harga tetap”);
}
else {
System.out.println(“Harga naik, DEMO!!!”);
}
}
}
class Testing {
public static void main (String [] args) {
Berita news = new Berita();
News.cetak();
}
}

0 Komentar:
Posting Komentar
Berlangganan Posting Komentar [Atom]
<< Beranda