JavaScript is required

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());
}
}

A.
10 11
B.
10 10
C.
11 11
D.
Không in gì và báo lỗi
Trả lời:

Đáp án đúng: B


Đoạn code định nghĩa một lớp `Student` có phương thức `getAge()` trả về giá trị 10. Sau đó, định nghĩa lớp `Man` kế thừa từ `Student`. Lớp `Man` có một phương thức `getAge(int added)` ghi đè (overload) phương thức `getAge()` của lớp cha. Trong phương thức `main`, một đối tượng `Man` được tạo và phương thức `getAge()` (không tham số) được gọi hai lần. Vì lớp `Man` kế thừa `getAge()` từ lớp `Student`, mỗi lần gọi sẽ trả về 10.

Câu hỏi liên quan