Super Keyword di Java

Terkadang kita ingin mengakses method yang ada di class parent yang sudah terlanjur kita override di class child. Untuk mengakses method yang ada di class parent, kita menggunakan kata kunci super. Tapi perlu diingat bahwa dengan kata kunci super kita bisa mengakses field juga, intinya super adalah kata kunci untuk mengakses class parent. Selanjutnya kita buat class parent bernama Shape, perhatikan sintaks berikut ini:

class Shape {
    int getCorner(){
        return 0;
    }
}

//kita buat class childnya, bernama Rectangle
class Rectangle extends Shape{
    //method overriding
    int getCorner(){
        return 4;
    }

    /*kita buat method getParentCorner untuk akses
    method getCorner dari class parent
     */
    int getParentCorner(){
        return super.getCorner(); //super berfungsi untuk panggil method di class parent
    }
}

Kita buat class bernama ShapeApp lalu ketikkan sintaks di bawah ini:

public class ShapeApp {
    //kita buat main function
    public static void main(String[] args) {

        //buat objek bernama shape dari class Shape
        var shape = new Shape();
        System.out.println("shape dikenai method getCorner(): " + shape.getCorner());//menerapkan method getCorner ke objek shape

        //buat objek rectangle dari class Rectangle
        var rectangle = new Rectangle();
        System.out.println("rectangle dikenai method getCorner(): " + rectangle.getCorner());
        System.out.println("rectangle dikenai method getParentCorner(): " + rectangle.getParentCorner());
    }
}

Kita running maka hasilnya sebagai berikut:

shape dikenai method getCorner(): 0
rectangle dikenai method getCorner(): 4
rectangle dikenai method getParentCorner(): 0

 

PREVIOUS: Method Overriding
NEXT: Super Constructor

KE DAFTAR ISI

Leave a Reply

Your email address will not be published. Required fields are marked *