Phát biểu nào sau đây SAI về từ khóa static?
Trả lời:
Đáp án đúng: D
Câu hỏi kiểm tra kiến thức về từ khóa `static` trong lập trình hướng đối tượng.
* **Đáp án A đúng:** Thuộc tính `static` là thuộc tính của lớp, không phải của đối tượng. Vì vậy, tất cả các đối tượng của lớp đó sẽ dùng chung một bản sao của thuộc tính `static`. Bất kỳ thay đổi nào đối với thuộc tính này từ một đối tượng sẽ ảnh hưởng đến tất cả các đối tượng khác.
* **Đáp án B đúng:** Phương thức `static` thuộc về lớp, không phải đối tượng. Do đó, có thể gọi phương thức `static` trực tiếp thông qua tên lớp mà không cần tạo đối tượng.
* **Đáp án C đúng:** Từ khóa `static` không được dùng để khai báo lớp (trong Java). Lớp có thể là `static` nếu nó là một inner class.
* **Đáp án D sai:** Phương thức `static` chỉ có thể truy cập các biến `static` khác của lớp, không thể truy cập các biến non-`static` (instance variables) vì nó không gắn liền với bất kỳ đối tượng cụ thể nào của lớp. Để truy cập biến non-`static`, phương thức `static` cần có một đối tượng của lớp đó.
Vậy, đáp án sai là D.