1. Abstract Class
a. MakhlukHidup.java
public abstract class MakhlukHidup {
protected boolean BisaTerbang = false ;
protected String Nama ;
protected int JlhKaki ;
public MakhlukHidup(String Nama1, int JlhKaki1,boolean BisaTerbang1) {
this.Nama = Nama1;
this.JlhKaki = JlhKaki1;
this.BisaTerbang = BisaTerbang1;
}
abstract void bernafas();
public void status(){
System.out.println("Nama :"+Nama);
System.out.println("Jumlah Kaki : "+JlhKaki);
System.out.println("Bisa Terbang : "+BisaTerbang);
}
}
b. Manusia.java
public class Manusia extends MakhlukHidup {
Manusia (String nama) {
super(nama, 2, false);
}
public void bernafas () {
System.out.println(Nama+" bernafas dengan menghirup O2");
}
public static void main(String [] args) {
Manusia m = new Manusia("sayuti");
m.status();
m.bernafas();
}
}
Outputnya:
c. Tumbuhan.java
public class Tumbuhan extends MakhlukHidup {
Tumbuhan(String Nama) {
super(Nama,0,false);
}
public void bernafas() {
System.out.println(Nama+" Bernafas Dengan Menghirup CO2");
}
public static void main (String [] args) {
Tumbuhan t = new Tumbuhan ("Bayam");
t.status();
t.bernafas();
}
}
Output:
2. Interface
a. Pekerjaan.java
interface Pekerjaan {
public void namaPekerjaan();
public void gaji();
}
b. Sasya.java
public class Sasya extends Manusia implements Pekerjaan {
public Sasya() {
super("Sasya");
}
public void namaPekerjaan() {
System.out.println("Pekerjaan :Sekretaris");
}
public void gaji() {
System.out.println("Gaji : Rp. 3.000.000");
}
public static void main(String[] args) {
Sasya s = new Sasya();
s.status();
s.bernafas();
s.namaPekerjaan();
s.gaji();
}
}
Output:
3. Inner Class
JantungManusia.java
class Orang {
private int jumlKaki = 2;
public void dengarBunyiJantung() {
Jantung j = new Jantung();
j.bunyiJantung();
}
public void tahanNafas() {
System.out.println("Jantung berhenti berdetak!");
}
//inner class
class Jantung {
public void bunyiJantung() {
System.out.println("deg...deg...deg...");
}
public void istirahat() {
System.out.println("Silangkan ke "+jumlKaki+" kaki.");
tahanNafas();
}
}
}
class JantungManusia {
public static void main(String[] args) {
Orang o = new Orang();
Orang.Jantung p = o.new Jantung();
o.dengarBunyiJantung();
p.istirahat();
}
}
Output: