JavaScript is required

Đoạn mã sau có kết quả như thế nào?
class Student {
private String name;
}
public class Man extends Student {
private String name;
public static void main(String[] args) {
Student m = new Student();
m.name = "Peter";
}
}

A.
Có lỗi biên dịch:name has private access in Student.
B.
Không có lỗi biên dịch.
C.
In ra chữ “student”
D.
In ra chữ “Peter”
Trả lời:

Đáp án đúng: A


Đoạn mã trên có lỗi biên dịch vì thuộc tính `name` trong lớp `Student` được khai báo là `private`. Điều này có nghĩa là nó chỉ có thể được truy cập từ bên trong lớp `Student` mà thôi. Trong phương thức `main` của lớp `Man`, chúng ta đang cố gắng truy cập thuộc tính `name` của đối tượng `m` (kiểu `Student`) từ bên ngoài lớp `Student`, điều này là không được phép và gây ra lỗi biên dịch.

Câu hỏi liên quan