Extend
Statement
extend digunakan oleh sebuah class baru untuk mendapatkan semua variable dan
method dari class yang di extendnya. Dan apabila di class baru ini terdapat
variable atau method dengan nama yang sama dengan variable dan method dari
class yang di extend, maka secara otomatis variable atau method yang ada di
class yang di extend akan di overwrite, khusus untuk kondisi di dalam class
yang baru ini. Sebagai contoh:
class B {
int x;
void setIt
(int n) { x=n;}
void increase
() { x=x+1;}
void triple
() {x=x*3;};
int returnIt
() {return x;}
}
class C
extends B {
void triple
() {x=x+3;} // override existing method
void
quadruple () {x=x*4;} // new method
}
public class
GetRich {
public static
void main(String[] args) {
B b = new
B();
b.setIt(2);
b.increase();
b.triple();
System.out.println(
b.returnIt() ); // prints 9
C c = new
C();
c.setIt(2);
c.increase();
c.triple();
System.out.println(
c.returnIt() ); // prints 6
}
}
Super
Untuk
mengakse anggota kelas diwariskan oleh kelas dimana ia muncul. Super juga
digunakan untuk meneruskan panggilan dari konstruktor di superclass. Atau
dengan kata lain super digunakan untuk memanggil method pada
superclass.
Contoh :
class katt
{
public
void suara()
{
System.out.println("Miaww...");
}
}
class siam
extends katt //siam adalah turunan dari katt
{
public
void mengeong()
{
super.suara();
//memanggil method suara pada superclass katt
}
public
static void main(String[] args)
{
siam
siam1 = new siam();
siam1.suara();
//mencetak "Miaww..."
This
Digunakan
untuk mewakili sebuah instance dari kelas dimana ia muncul. This dapat
digunakan untuk mengakses anggota kelas sebagai referensi. This juga digunakan
untuk meneruskan panggilan dari satu konstuktor dikelas untuk konstuktor lain
dikelas yang sama. Dengan kata lain bisa disimpulkan bahwa This digunakan untuk
menujuk pembuat kelas(variabel instant) dan digunakan untuk menyatakan objek
sekarang atau object dalam class tersebut..
Contoh this :
class manusia
{
int
a = 1 ; //field
(dideklarasikan private)
int
b = 1 ;
public
void
set_nama() //method
(dideklarasikan private)
{
System.out.println(a) ;
//1
System.out.println(b)
; // 1
}
public
void set_nama2(int a) //10 method (dideklarasikan public)
{
System.out.println(this.a)
; //1
System.out.println(a)
; //10
this.a=
a; // dalam kelas yang sama varibel bisa di akses ; // method dalam kelas
yang
sama bisa akses
//System.out.println(a)
;
System.out.println(this.a)
;
System.out.println(b)
;
}
public
void
set_nama3() //10
method (dideklarasikan public)
{
System.out.println("set
nama 3") ;
System.out.println(a)
; //1
}
}
class
tes_manusia
{
public
static void main(String[] args)
{
manusia
orang_1 = new manusia();
orang_1.set_nama()
;
orang_1.set_nama2(10);
orang_1.set_nama3()
;
}
}
source:
http://optionsface.blogspot.co.id/2010/11/final-super-this-public-private.html
http://keywordjava.blogspot.co.id/2013/02/jenis-jenis-keyword-pada-java-dan.html
http://rahmatbuyunghardi.blogspot.co.id/2011/07/statement-extend-di-java.html
Super