Đoạn mã sau có lỗi biên dịch gì? Chọn một câu trả lời
public class Person {
protected String name;
protected int age;
public static void main(String[] args) {
Person p = new Person();
p.name = "Tom";
System.out.println(p.name);
}
}
public class Person {
protected String name;
protected int age;
public static void main(String[] args) {
Person p = new Person();
p.name = "Tom";
System.out.println(p.name);
}
}
Trả lời:
Đáp án đúng: A
Đoạn mã không có lỗi biên dịch. Trong cùng một class, các thành viên (fields, methods) có access modifier là `protected` vẫn có thể được truy cập trực tiếp. Lỗi chỉ xảy ra khi truy cập từ một class khác không phải là subclass, hoặc từ bên ngoài package nếu không phải subclass. Trong trường hợp này, `main` method nằm trong class `Person` và truy cập trực tiếp vào field `name` của một instance của `Person`, do đó không có lỗi xảy ra.
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
