200+ câu trắc nghiệm Java cơ bản có đáp án - Phần 5

Hãy cho biết kết quả khi chạy đoạn chương trình sau? class Student { public int getAge(){ return 10; } } public class Man extends Student{ public int getAge(int added) { return super.getAge()

15/30

Hãy cho biết kết quả khi chạy đoạn chương trình sau?

class Student {

public int getAge(){

return 10;

}

}

public class Man extends Student{

public int getAge(int added) {

return super.getAge()+added;

}

public static void main(String[] args) {

Man s = new Man();

System.out.println(s.getAge()); System.out.println(s.getAge());

}

}

10

11

10

10

11

11

Không in gì và báo lỗi

Giải thích

Chọn đáp án B

Vì:

+ Lệnh đầu tiên trong hàm main() sẽ sinh ra đối tượng s từ lớp Man.

+ Lệnh thứ 2 của hàm main sẽ gọi phương thức getAge() của đối tượng s, tuy nhiên s kế thừa từ lớp Student do đó sẽ triệu gọi phương thức getAge của lớp Student => in ra 10

+ Lệnh thứ 3 của hàm main() sẽ gọi phương thức getAge() của đối tượng s => gọi đến phương thức getAge() của lớp Student => in ra 10