Đọc đoạn code sau:
1:public class Test {
2:public int aMethod() {
3:int i = 0;
4:i++;
5:return i;
6:}
7:public static void main (String[]args){
8:Test test = new Test();
9:test.aMethod();
10:int j = test.aMethod();
11:System.out.println(j);
12:}
13:}
Kết quả là gì?
Trả lời:
Đáp án đúng: B
Đoạn code trên thực hiện các bước sau:
1. **Khởi tạo đối tượng:** `Test test = new Test();` tạo một đối tượng của lớp `Test`.
2. **Gọi phương thức lần 1:** `test.aMethod();` gọi phương thức `aMethod()` lần đầu tiên. Bên trong phương thức, biến `i` được khởi tạo bằng 0, sau đó tăng lên 1, và giá trị 1 được trả về. Tuy nhiên, giá trị trả về này không được gán cho bất kỳ biến nào, do đó nó bị bỏ qua.
3. **Gọi phương thức lần 2 và gán giá trị:** `int j = test.aMethod();` gọi phương thức `aMethod()` lần thứ hai. Tương tự như trên, biến `i` được khởi tạo bằng 0, tăng lên 1, và giá trị 1 được trả về. Lần này, giá trị trả về (là 1) được gán cho biến `j`.
4. **In giá trị của j:** `System.out.println(j);` in giá trị của biến `j` ra màn hình. Vì `j` có giá trị là 1, kết quả in ra sẽ là 1.
Vì vậy, đáp án đúng là B. 1