Java Inheritance/Pewarisan bag.2

Di sini kita akan memberikan contoh lain dari proses pewarisan di Java:
1:  class mahasiswa  
2:  {  
3:  public String nama="Joni";  
4:  }  
5:  class mhscuti extends mahasiswa  
6:  {  
7:  String nama="Amir";  
8:  public void cetak(String nama)  
9:  {  
10:   System.out.println(nama);  
11:   System.out.println(this.nama);  
12:  System.out.println(super.nama);  
13:  }  
14:  }  
15:  public class kuliah  
16:  {  
17:  public static void main(String[] ar){  
18:  mhscuti t=new mhscuti();  
19:  t.cetak("Wati");  
20:  }  
21:  }  
Ayo.... siapa yang bisa tebak hasilnya seperti apa? Betul sekali. Hasilnya:
Wati
Amir
Joni
Ada yang bisa menjelaskan kenapa hasilnya seperti itu? OK. akan saya jelaskan.... Yang membedakan hasilnya adalah ada keyword this dan super. Apa itu this dan super di java? kita akan bahas 3 baris yang fungsinya menampilkan di layar:
1:   System.out.println(nama);  
2:   System.out.println(this.nama);  
3:  System.out.println(super.nama);  

Baris 1: ditampilkan isi dari attribut nama. attribut nama ini diambil dari passing attribut oleh method utama di class utamanya. Attribut nama menerima value berupa "Wati". jadi hasil dari baris pertama adalah "Wati". Baris2: ditampilkan isi dari attribut nama tapi memakai awalan this di awal attrributnya. Fungsi dari 'this' ini adalah untuk mengambil attribut yang dimiliki oleh class tersebut. Kita berada di class mshCuti. Maka attribut 'nama' di sini maksudnya adalah attribut yang dimiliki class mshCuti, yaitu 'Amir'. Baris 3: ditampilkan isi dari attribut 'nama' yang diawali 'super'. 'super' ini menunjukkan bahwa kita akan mengambil attribut yang dimiliki oleh s'super class' dari class yang sedang berjalan. super class dari clas mshCuti adalah class 'mahasiswa'. Maka attribut yang diambil adalah atribut yang dimiliki oleh class 'mahasiswa', sehingga hasilnya adalah 'Joni'. Semoga membantu yang, bagi yang masih bingung tentang inheritance, this, dan super

2 komentar:

  1. Nice Thread pa willy,
    Keep posting..

    klo bisa postingin artikel tentang pembuatan aplikasi android dong pa'

    tq ya.. :)

    BalasHapus
  2. OK. akan menyusul. ditunggu saja ya..

    anyway. thanks for comments

    BalasHapus