Mungkin dari temen-temen masih agak bingung apa sih yang membedakan antara super dan this dan juga mungkin melihat dari materi sebelumnya bagian inherintace dan bagian encapsulation tapi belum dijelaskan apa magsud dan tujuannya. Ok nah masilnya saya punya contoh seperti berikut:

ParentClass

1
2
3
4
5
6
7
8
package tdi.training.java.core;

public class ParentClass {

public String hitung(){
return "Parent class";
}
}

ChildClass

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package tdi.training.java.core;

public class ChildClass extends ParentClass {

@Override
public String hitung(){
return "Child class";
}

public void dariKelasIni(){
System.out.println(this.hitung());
}

public void dariKelasInduk(){
System.out.println(super.hitung());
}
}

Coba perhatikan di method dariKelasIni() mengunakan keyword this sedangkan di method dariKelasInduk() menggunakan keyword super

MainApplication

1
2
3
4
5
6
7
8
9
10
package tdi.training.java.core;

public class MainApplication{

public static void main(String[] args){
ChildClass anak = new ChildClass();
anak.dariKelasIni();
anak.dariKelasInduk();
}
}

Intinya adalah kita menggunakan keyword this maka akan menunjuk class ChildClass sedangkan untuk keyword super maka akan menunjuk class ParentClass karena class ChildClass turunan dari ParentClass.