JavaScript is required

Phát biểu nào sau đây SAI về từ khóa static?

A.

Một thuộc tính static được dùng chung bởi tất cả các đối tượng thuộc lớp đó

B.

Một phương thức static có thể được gọi mà không cần khởi tạo đối tượng

C.

Từ khóa static không dùng trong khai báo lớp

D.

Một phương thức static có thể sử dụng tất cả các biến trong lớp

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.

Câu hỏi liên quan