JavaScript is required

Output của chương trình sau là?

class box

{

int width;

int height;

int length;

}

class mainclass

{

public static void main(String args[])

{

box obj1 = new box();

box obj2 = new box();

obj1.height = 1;

obj1.length = 2;

obj1.width = 1;

obj2 = obj1;

System.out.println(obj2.height);

}

}

Chọn một:

A.

1

B.

2

C.

runtime error

D.

Garbage value

Trả lời:

Đáp án đúng: A


Đoạn code trên tạo ra hai đối tượng `obj1` và `obj2` thuộc class `box`. Ban đầu, `obj1` được khởi tạo và các thuộc tính `height`, `length`, `width` của nó được gán giá trị lần lượt là 1, 2, 1. Sau đó, `obj2` được gán bằng `obj1` (`obj2 = obj1`). Điều này có nghĩa là `obj2` tham chiếu đến cùng một đối tượng trong bộ nhớ mà `obj1` đang tham chiếu tới, chứ không phải tạo ra một đối tượng mới. Do đó, khi ta in giá trị `obj2.height`, nó sẽ in giá trị `height` của đối tượng mà cả `obj1` và `obj2` đang tham chiếu đến, tức là 1.

Câu hỏi liên quan