JavaScript is required

Câu lệnh khai báo chuẩn cho cách main như thế nào?

A.
public static void main(String[] a) {}
B.
public static int main(String args) {}
C.
public static main(String[] args) {}
D.
public static final void main(String[] args) {}
Trả lời:

Đáp án đúng: A


Trong Java, phương thức `main` là điểm khởi đầu của mọi chương trình. Nó phải được khai báo theo một định dạng chuẩn để JVM (Java Virtual Machine) có thể tìm và thực thi nó. * **`public`**: Từ khóa `public` cho phép phương thức `main` có thể được truy cập từ bên ngoài lớp, điều này cần thiết vì JVM cần truy cập nó. * **`static`**: Từ khóa `static` cho biết phương thức `main` thuộc về lớp chứ không phải một đối tượng cụ thể của lớp. Điều này có nghĩa là chúng ta có thể gọi `main` mà không cần tạo một thể hiện của lớp. * **`void`**: Từ khóa `void` chỉ ra rằng phương thức `main` không trả về bất kỳ giá trị nào. * **`main(String[] args)`**: Đây là tên phương thức và tham số của nó. Tên phải chính xác là `main`. Tham số là một mảng các chuỗi (`String[] args`), thường được sử dụng để truyền các đối số dòng lệnh cho chương trình. **Phân tích các lựa chọn:** * **A. `public static void main(String[] a) {}`**: Đây là khai báo chuẩn và đúng. Tên tham số `args` có thể thay đổi, ví dụ như `a`, nhưng kiểu dữ liệu và cấu trúc của nó phải là một mảng các chuỗi. * **B. `public static int main(String args) {}`**: Sai vì kiểu trả về phải là `void`, không phải `int`, và tham số phải là một mảng chuỗi `String[]`, không phải một chuỗi đơn `String`. * **C. `public static main(String[] args) {}`**: Sai vì thiếu kiểu trả về `void`. * **D. `public static final void main(String[] args) {}`**: Mặc dù cú pháp này hợp lệ, việc thêm `final` vào khai báo `main` là không cần thiết và không phải là một phần của khai báo chuẩn. Từ khóa `final` ngăn không cho phương thức này bị ghi đè (override) trong các lớp con (nếu có kế thừa), nhưng vì `main` là `static` nên không thể bị override dù không có `final`. Do đó, đáp án đúng nhất là A.

Câu hỏi liên quan