Cho đoạn chương trình sau. Kết quả của đoạn chương trình là?
class A {
int b = 1;
public static void main(String[] args) {
System.out.println("b is " + b);
}
}
class A {
int b = 1;
public static void main(String[] args) {
System.out.println("b is " + b);
}
}
int b = 1;
public static void main(String[] args) {
System.out.println("b is " + b);
}
}
Trả lời:
Đáp án đúng: A
Đoạn chương trình bị lỗi biên dịch. Trong phương thức `main`, biến `b` được truy cập trực tiếp mà không thông qua đối tượng của lớp `A`. Vì `b` là một biến instance (không phải static), nó phải được truy cập thông qua một đối tượng cụ thể của lớp `A`. Hơn nữa, phương thức `main` là static, do đó nó chỉ có thể truy cập các thành viên static khác của lớp hoặc tạo một thể hiện của lớp để truy cập các thành viên non-static.





