Tạo đối tượng - 1

"Xin chào, lại là giáo viên yêu thích của bạn. Vì bạn đang tiến bộ rất nhiều, tôi quyết định kể cho bạn nghe về các đồ vật và cách làm việc với chúng."

" Để tạo một đối tượng, bạn cần nhập từ khóa 'mới' theo sau là tên loại của nó (tên lớp). Ví dụ: giả sử chúng ta có một lớp tên là 'Mèo':"

Mã số Sự miêu tả
Cat cat;
Khai báo một biến tham chiếu Cat có tên là cat. Giá trị của biến cat là null.
new Cat();
Tạo một đối tượng Cat.
Cat cat = new Cat();
Tạo một biến tham chiếu Cat có tên là cat.
Tạo một đối tượng Cat mới. Gán một tham chiếu đến đối tượng mới được tạo cho biến cat.
Cat kitty = new Cat();
Cat smokey = new Cat();
Hai đối tượng được tạo ra. Các tham chiếu đến chúng được gán cho hai biến khác nhau.
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
Hai đối tượng được tạo ra. Các tham chiếu đến chúng được gán cho hai biến khác nhau.

Sau đó, chúng tôi đặt biến smokey bằng một tham chiếu đến đối tượng được tham chiếu bởi biến kitty. Cả hai biến bây giờ đề cập đến các đối tượng được tạo đầu tiên.
(Vì đối tượng thứ hai không còn được tham chiếu ở bất kỳ đâu nên nó hiện được coi là rác)

Cat kitty = new Cat();
Cat smokey = null;

smokey = kitty;

kitty = null;
Một đối tượng Cat được tạo và một tham chiếu đến nó được gán cho biến đầu tiên (kitty). Biến thứ hai (smokey) lưu trữ một tham chiếu rỗng (null).

Cả hai biến đều đề cập đến cùng một đối tượng.

Bây giờ chỉ có smokey, chứ không phải kitty, đề cập đến một đối tượng.

"Điều gì sẽ xảy ra nếu chúng ta tạo một đối tượng và không lưu tham chiếu vào bất kỳ biến nào?"

"Nếu chúng ta chỉ tạo một đối tượng mà không gán nó cho một biến, máy Java sẽ tạo nó và sau đó tuyên bố nó là rác (một đối tượng không được sử dụng). Sau một thời gian, đối tượng sẽ bị loại bỏ trong quá trình thu gom rác . "

"Làm cách nào để vứt bỏ một đồ vật mà tôi không cần nữa?"

"Bạn không cần. Ngay khi không có biến nào tham chiếu đến một đối tượng, nó sẽ được gắn nhãn là rác và bị máy Java hủy vào lần thu thập rác tiếp theo. "

Miễn là có ít nhất một tham chiếu đến một đối tượng, thì đối tượng đó được coi là đang hoạt động và sẽ không bị hủy. Nếu bạn muốn loại bỏ một đối tượng sớm hơn, bạn có thể xóa tất cả các tham chiếu đến nó bằng cách gán null cho tất cả các biến tham chiếu đến nó.

"Ra vậy. So với mấy bài trước, cái này có vẻ khá đơn giản."

"Diego đã thức cả đêm để nghĩ ra nhiệm vụ cho bạn. Anh ấy đã nỗ lực đặc biệt này chỉ vì bạn. Anh ấy có khiếu hài hước tuyệt vời, bạn biết không?"


Đoạn trích bài giảng với người cố vấn trong khóa học của Đại học Codegym. Đăng ký cho khóa học đầy đủ.