Memahami Penggunaan Keyword Super Pada Pemrograman Java

Sebelumnya anda sudah mengetahui mengenai keyword this sebagai referensi untuk objek yang dipanggil. Sedangkan keyword super akan mengacu pada superclass.

Ketika suatu sub class menerima pewarisan data fields yang bisa diakses dan method-methodnya dari superclass, apakah constructor dari super class juga akan ikut di wariskan pada sub class tersebut?

Apakah constructor dari super class bisa dipanggil melalui sub class?

Nah, fungsi dari keyword super itu sendiri adalah:

  • Memanggil constructor dari superclass
  • Memanggil method dari superclass
  • Mengakses variabel instance super class

Pada pembahasan kali ini akan dijelaskan mengenai fungsi dari keyword super tersebut.

 

keyword super program Java

 

a. Memanggil Conctructor Dari Superclass

Constructor digunakan untuk membentuk instance dari suatu class. Namun, tidak seperti properti dan method, constructor ini tidak diwariskan pada subclass.

Sehingga constructor dari subclass ini hanya dapat dipanggil melalui constructor dari sub class dengan menggunakan keyword super.

Syntax nya adalah:

  • super()
    Akan memanggil constructor tanpa argumen dari superclass
  • super(parameter)
    Memanggil constructor dari superclass yang memiliki argumen-argumen yang sesuai.

Pernyataan super() ataupun super(parameter) harus ditempatkan pertama kali di dalam constructor dari sub class.

Dan ini adalah satu-satunya cara untuk memanggil constructor super class melalui subclass.

Contoh:

Contoh output:

Konstruktor Berantai

Suatu constructor dapat memanggil constructor overload atau juga constructor dari super class. Jika tidak ada pemanggilan yang dilakukan secara eksplisit, maka secara otomatis compiler akan meletakkan super() pada pernyataan pertama dalam konstruktor.

Misalnya:

Dalam kasus apapun, ketika pengkonstruksian suatu instance telah dilakukan, maka constructor-constructor dari superclass-nya yang terkait dalam rantai inheritance akan dipanggil.

Ketika suatu objek dikonstruksi pada subclass maka constructor dari subclass itu pertama-tama akan memanggil constructor dari superclass-nya sebelum melakukan tugasnya sendiri.

Jika superclass-nya juga inherit dari class lainnya,  maka constructor dari superclass itu akan memanggil contructor dari superclassnya juga sebelum melakukan tugasnya sendiri.

Proses ini terus berlanjut sampai dengan constructor yang terakhir pada hirarki inheritance, dan ini disebut constructor chaining.

Perhatikan contoh dibawah ini untuk memahaminya:

Output:

b. Memanggil Method Milik Superclass

Keyword super dapat digunakan sebagai referensi method selain dari constructor dalam superclass. Syntax-nya adalah:

super.method(parameters);

Contoh:

Output:

Pada contoh diatas Binatang dan Ayam memiliki method yang sama, yaitu bersuara(). Jika objek Ayam memanggil method bersuara(), harusnya output yang keluar adalah “Kukuruyuk”. Namun, karena keyword super digunakan, maka method yang dipanggil adalah milik super class. Oleh karena itu outputnya adalah “Binatang bersuara”.

c. Digunakan Untuk Mengacu Secara Langsung Pada Variabel Instance Milik Super Class

Anda dapat menggunakan keyword super untuk langsung mengakses data member atau field dari super class. Dan ini digunakan jika supe class dan sub class memiliki field-field yang sama.

Contoh:

Output:

Demikianlah beberapa fungsi penggunaan keyword super pada pemrograman Java. Semoga bisa membantu anda yang sedang belajar Java.

Be the first to comment

Leave a Reply

Your email address will not be published.


*