JavaScript is required

Quy tắc nào sau đây là SAI?

A.

A.Trường final không thể sử dụng với volatile

B.

B.Phương thức native trong Java có thể có nội dung

C.

C.Khai báo nên khai báo trường transient với final và static

D.

D.Không có đáp án đúng

Trả lời:

Đáp án đúng: A


**Phân tích câu hỏi:** Câu hỏi này kiểm tra kiến thức của bạn về các quy tắc và đặc điểm của các từ khóa `final`, `volatile`, `native`, `transient` và `static` trong Java. **Đánh giá các phương án:** * **A. Trường final không thể sử dụng với volatile:** Đây là một quy tắc đúng. `final` có nghĩa là một biến chỉ có thể được gán một lần, trong khi `volatile` đảm bảo rằng tất cả các luồng nhìn thấy giá trị mới nhất của một biến. Việc sử dụng cả hai cùng nhau không có ý nghĩa thực tế và có thể gây nhầm lẫn. * **B. Phương thức native trong Java có thể có nội dung:** Đây là một quy tắc SAI. Phương thức `native` trong Java không có phần thân (body) trong chính file Java. Phần thân của nó được triển khai trong một ngôn ngữ khác (ví dụ: C, C++) và được liên kết thông qua JNI (Java Native Interface). * **C. Khai báo nên khai báo trường transient với final và static:** Đây là một quy tắc đúng. Các trường `transient` được sử dụng để đánh dấu các trường không nên được tuần tự hóa (serialized). Các trường `static` thuộc về lớp chứ không phải đối tượng, và các trường `final` là các hằng số. Không có lý do gì để tuần tự hóa các trường này, vì vậy việc đánh dấu chúng là `transient` là hợp lý. * **D. Không có đáp án đúng:** Vì phương án B sai, nên phương án này không đúng. **Kết luận:** Phương án B là phương án SAI.

Câu hỏi liên quan