JavaScript is required

Đoạn mã sau có lỗi biên dịch gì?
public class Person {
private String name;
protected int age;
public static void main(String[] args) {
Person p = new Person();
p.name = "Tom";
System.out.println(p.name);
}
}

A.
Không có lỗi biên dịch
B.
name has private access.
C.
age has protected access.
D.
name has public access.
Trả lời:

Đáp án đúng: A


Đoạn mã trên có lỗi biên dịch do biến `name` được khai báo là `private` trong lớp `Person`. Điều này có nghĩa là biến `name` chỉ có thể được truy cập từ bên trong lớp `Person` mà thôi. Trong phương thức `main`, chúng ta đang cố gắng truy cập và gán giá trị cho `p.name` từ bên ngoài lớp `Person`, đ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