JavaScript is required

Khai báo nào sau đây sẽ không gây ra lỗi biên dịch?

A.

abstract int i;

B.

native MyMethod();

C.

default class MyClass {};

D.

abstract final class MyClass {};

Trả lời:

Đáp án đúng: D


Câu hỏi kiểm tra về các từ khóa modifier trong Java như abstract, native, default, và final, cũng như cách chúng được sử dụng trong khai báo biến và lớp.

  1. abstract int i;: Khai báo một biến iabstract là không hợp lệ. abstract chỉ được sử dụng cho lớp và phương thức, không dùng cho biến. Do đó, khai báo này gây ra lỗi biên dịch.
  2. native MyMethod();: Khai báo một phương thức MyMethodnative là hợp lệ. native được sử dụng để chỉ ra rằng phương thức được triển khai bằng ngôn ngữ khác (ví dụ: C, C++). Không gây ra lỗi biên dịch.
  3. default class MyClass {};: Từ khóa default chỉ được dùng trong interface để định nghĩa một phương thức có triển khai mặc định. Việc dùng default cho class là không hợp lệ, sẽ gây ra lỗi biên dịch.
  4. abstract final class MyClass {};: Một lớp không thể vừa là abstract vừa là final. abstract có nghĩa là lớp phải được kế thừa (extend) và các phương thức abstract phải được triển khai (implement) ở lớp con. final có nghĩa là lớp không thể được kế thừa. Do đó, hai từ khóa này mâu thuẫn nhau và gây ra lỗi biên dịch.

Vậy, chỉ có khai báo native MyMethod(); là không gây ra lỗi biên dịch.

Tổng hợp 350 câu hỏi trắc nghiệm môn lập trình mạng có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan