JavaScript is required

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);
}
}

A.

Lỗi biên dịch

B.

Lỗi thực thi

C.

Không có lỗi, in ra "b is 1"

D.
Tất cả đáp án đều sai
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.

Câu hỏi liên quan