[ HTML ] [ Java ] [ Bahasa C ]


Jumat, April 19, 2019

Output Program Java Overriding

Prasyarat pengetahuan : Overriding pada Java

satu, Apakah output dari contoh program berikut ini?

class Derived

{

 

protected final void getDetails(){

System.out.println("Derived"

+" class");}

 

}

 

public class Test extends Derived

{

 

protected final void getDetails(){

System.out.println("Test"

+" class");}

 

public static void main(String[] args){

Derived obj = new Derived();

obj.getDetails();}

 

}


Pilih salah satu jawaban berikut ini:
a) Derived class
b) Test class
c) Runtime error
d) Compilation error

Jawabannya adalah d. Compilation error

Penjelasan: Method final dan static tidak bisa overriding.

dua, Apakah hasil output dari contoh program berikut ini?

class Derived

{

 

public void getDetails(String temp){

System.out.println("Derived"

+" class " 

+temp);}

 

}

 

public class Test extends Derived

{

 

public int getDetails(String temp)

{System.out.println("Test"

+" class " 

+temp);

return 0;}

 

public static void main(String[] args)

{Test obj = new Test();

obj.getDetails("GFG");}

 

}


Pilih salah satu jawaban berikut ini:
a) Derived class GFG
b) Test class GFG
c) Compilation error
d) Runtime error

Jawabannya adalah c. Compilation error

Penjelasan: Method overriding harus memiliki signature yang sama, yang didalamnya termasuk daftar argumen dan tipe return.

tiga, Apakah output dari contoh program berikut ini?

class Derived

{

public void getDetails()

{System.out.println("Derived"

+" class");}

}

 

public class Test extends Derived

{

protected void getDetails()

{System.out.println("Test"

+" class");}

public static void main(String[] args){

Derived obj = new Test(); 

/* line xyz */

obj.getDetails();}

}


Pilih salah satu jawaban berikut ini:
a) Test class
b) Compilation error pada line xyz
c) Derived class
d) Compilation error pada access modifier

Jawabannya adalah d. Compilation error pada access modifier

Penjelasan: Method overriding tidak bisa mengubah akses yang lebih ketat.

empat, Apakah output dari contoh program berikut ini?

import java.io.IOException;

 

class Derived

{

public void getDetails() throws IOException 

/* line 23 */

{System.out.println("Derived"

+" class");}

}

 

public class Test extends Derived

{

 

public void getDetails() throws Exception 

/* line 24 */

{System.out.println("Test"

+" class");}

 

public static void main(String[] args) throws IOException 

/* line 25 */

{Derived obj = new Test();

obj.getDetails();}

 

}


Pilih salah satu jawaban berikut ini:
a) Compilation error pada line 23
b) Compilation error pada line 24
c) Compilation error pada line 25
d) Compilation error pada line 23, 24, dan 25

Jawabannya adalah b. Compilation error pada line 24

Penjelasan: Exception oleh overriding method seharusnya bukan exception yang baru atau lebih luas cakupannya. Pada contoh program sebelumnya exception adalah class yang lebih luas dari exception yang diperiksa IOexception, sehingga menghasilkan error compilation.

lima, Apakah output dari program berikut ini?

class Derived

{

public void getDetails()

{System.out.printf("Derived"

+" class ");}

}

 

public class Test extends Derived

{

 

public void getDetails()

{System.out.printf("Test "

+"class ");

super.getDetails();}

 

public static void main(String[] args)

{Derived obj = new Test();

obj.getDetails();}

 

}


Pilih salah satu dari jawaban berikut ini:
a) Test class Derived class
b) Derived class Test class
c) Compilation error
d) Runtime error

Jawabannya adalah a. Test class Derived class

Penjelasan: keyword super digunakan untuk memanggil method overriding dari child class secara eksplisit.

Tidak ada komentar:

Posting Komentar

Respon komentar 7 x 24 jam, so please be patient :D