Đoạn mã sau in ra màn hình xâu ký tự nào sau:
class Student {
public String sayHello() {
return "Student";
}
}
public class Man extends Student {
public String sayHello() {
return super.sayHello();
}
public static void main(String[] args) {
Student m = new Student();
System.out.println(m.sayHello());
}
}
class Student {
public String sayHello() {
return "Student";
}
}
public class Man extends Student {
public String sayHello() {
return super.sayHello();
}
public static void main(String[] args) {
Student m = new Student();
System.out.println(m.sayHello());
}
}
Trả lời:
Đáp án đúng: B
Đoạn mã tạo một lớp `Student` có phương thức `sayHello()` trả về chuỗi "Student". Sau đó, tạo một lớp `Man` kế thừa từ `Student` và ghi đè phương thức `sayHello()` bằng cách gọi phương thức `sayHello()` của lớp cha (Student) thông qua `super.sayHello()`. Trong phương thức `main()`, một đối tượng `m` của lớp `Student` được tạo và phương thức `sayHello()` của đối tượng này được gọi. Vì `m` là một đối tượng của lớp `Student` chứ không phải `Man`, nên phương thức `sayHello()` của lớp `Student` sẽ được gọi, và nó sẽ trả về chuỗi "Student". Do đó, chương trình sẽ in ra "Student".
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
