Contoh :
#abstrack
package latihan;
public abstract class Bentuk2D { //abstract class Bentuk2D
// state
int panjang = 1;
int lebar = 1;
int alas = 3;
int tinggi = 5;
double phi = 3.14;
int r = 2;
// behaviour
public abstract double hitungLuas();
public abstract String getBentuk();
}
#class utama
package latihan2;
* @author hendrik
*/
public class LatihanBentuk2D { // class utama LatihanBentuk2D
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
BujurSangkar A = new BujurSangkar();
A.setSisi(20);
System.out.println("Luas " + A.getBentuk() + " = " + A.hitungLuas());
Kubus B = new Kubus();
B.setSisi(10);
System.out.println("Luas " + A.getBentuk2() + " = " + B.hitungVolume());
persegipanjang C = new persegipanjang();
C.hitungLuaspersegi();
System.out.println("Luas " + A.getBentuk3() + " = " + C.hitungLuaspersegi());
segitiga D = new segitiga();
D.hitungLuassegitiga();
System.out.println("Luas " + A.getBentuk4() + " = " + D.hitungLuassegitiga());
lingkaran E = new lingkaran();
E.hitungLuaslingkaran();
System.out.println("Luas " + A.getBentuk5() + " = " + E.hitungLuaslingkaran());
}
}
#Turunan 1
package latihan;
* @author hendrik
*/
public class BujurSangkar extends Bentuk2D {
public void setSisi(int sisi) {
panjang = sisi;
}
@Override
public double hitungLuas() {
return panjang*panjang;
}
@Override
public String getBentuk() {
return "Bujur Sangkar";
}
public String getBentuk2() {
return "kubus";
}
public String getBentuk3() {
return "Persegi panjang";
}
public String getBentuk4() {
return "segitiga";
}
public String getBentuk5() {
return "lingkaran";
}
}
#Turunan 2
package latihan;
* @author hendrik
*/
public class Kubus extends BujurSangkar {
public double hitungVolume() {
// 1. return panjang*panjang*panjang;
return hitungLuas() * panjang;
}
}
#Turunan 3
package latihan;
/**
*
* @author hendrik
*/
public class persegipanjang extends BujurSangkar {
public double hitungLuaspersegi() {
// 1. return panjang*panjang*panjang;
return panjang*lebar;
}
}
#Turunan 4
package latihan;
/**
*
* @author hendrik
*/
public class segitiga extends BujurSangkar {
public double hitungLuassegitiga() {
// 1. return panjang*panjang*panjang;
return ((alas*tinggi)/2);
}
}
#Turunan5
package latihan;
/**
*
* @author hendrik
*/
public class lingkaran extends BujurSangkar {
public double hitungLuaslingkaran() {
// 1. return panjang*panjang*panjang;
return (phi*(r*r));
}
}
Hasil run dari class utama