JavaScript is required

Lớp test được cài đặt như bên dưới, câu lệnh nào sau đây hợp lệ:

Csharp

Sao chépChỉnh sửa

class test

{

public static int mark;

public static void print(){}

}

A.

test t = new test(); t.mark = 9;

B.

test.Print(9);

C.

test t = new test(); t.Print();

D.

test.mark = 9;

Trả lời:

Đáp án đúng: D


Câu hỏi này kiểm tra kiến thức về cách truy cập các thành viên `static` của một lớp trong C#. Trong C#, các thành viên `static` thuộc về chính lớp đó, chứ không phải là một thể hiện cụ thể của lớp. Do đó, chúng được truy cập thông qua tên lớp. * **Phương án 1: `test t = new test(); t.mark = 9;`** * Sai. Vì `mark` là một biến `static`, nó phải được truy cập thông qua tên lớp (`test.mark`), không phải thông qua một thể hiện của lớp (`t.mark`). * **Phương án 2: `test.Print(9);`** * Sai. Phương thức `Print()` không có tham số, nên việc truyền tham số `9` sẽ gây ra lỗi biên dịch. * **Phương án 3: `test t = new test(); t.Print();`** * Sai. Tương tự như phương án 1, `Print()` là một phương thức `static`, nó phải được truy cập thông qua tên lớp (`test.Print()`), không phải thông qua một thể hiện của lớp (`t.Print()`). * **Phương án 4: `test.mark = 9;`** * Đúng. Vì `mark` là một biến `static`, nó được truy cập trực tiếp thông qua tên lớp `test`. Vậy, đáp án đúng là phương án 4.

Câu hỏi liên quan