Tìm hiểu về đối tượng trong Java

Tất cả các đối tượng trong Java đều được định nghĩa dựa trên một đối tượng cơ bản đó là java.lang.Object. Đối tượng Object này sẽ giúp cho Java quản lý được tất cả các đối tượng khác từ lúc chúng được tạo ra cho đến khi không còn được sử dụng nữa. Trong bài viết này, chúng ta sẽ tìm hiểu thêm về những cái mà mình vừa nói các bạn nhé!

Không giống như các ngôn ngữ lập trình khác, Java quản lý các đối tượng bằng cách cấp phát bộ nhớ khi chúng được tạo ra và bảo trì bộ nhớ nếu các đối tượng đó không còn dùng được nữa.

Công đoạn bảo trì bộ nhớ nếu các đối tượng không còn được sử dụng nữa sẽ do Java’s garbage collector (thu gom rác) đảm nhận. Tiến trình này sẽ chạy định kỳ và nó sẽ giải phóng bộ nhớ của các đối tượng không còn được sử dụng.

Vậy khi nào đối tượng không còn được sử dụng nữa? Câu trả lời đó là khi đối tượng đó không còn được tham chiếu đến một biến bất kỳ.

Để hiểu rõ hơn, bây giờ chúng ta sẽ cùng tìm hiểu về chu trình sống của một đối tượng các bạn nhé!


Khởi tạo một đối tượng

Đối tượng được tạo ra bằng cách sử dụng toán tử new và chúng ta có thể gán cho đối tượng này tham chiếu đến một biến bất kỳ. Ở đây có một sự khác biệt giữa khai báo và khởi tạo đối tượng đó là khi khai báo chúng ta không dùng toán tử new còn khi khởi tạo thì có.

Ví dụ sau sẽ giúp bạn thấy rõ điều này, chúng ta có đối tượng Student:

Để khai báo đối tượng Student trong lớp Example chúng ta làm như sau:

Còn để khởi tạo nó, code sẽ như sau:

Đối tượng sau khi được khởi tạo thì chúng ta có thể truy cập các thuộc tính của nó bằng cách sử dụng biến tham chiếu tới nó.


Khi nào đối tượng không thể truy cập được nữa?

Trong trường hợp, sau khi khởi tạo đối tượng và gán cho nó một biến tham chiếu, chúng ta lại gán lại cho biến tham chiếu này tới một đối tượng khác, lúc này đối tượng trước đó sẽ không thể truy cập được nữa.

Ví dụ dưới đây sẽ giúp các bạn hình dung rõ hơn:

Trong ví dụ trên biến student sau khi gán cho đối tượng Student có tên là A thì đã được gán lại cho đối tượng Student có tên là B, và do đó chúng không thể tiếp tục truy cập vào đối tượng Student có tên là A nữa.

Một đối tượng nếu không được tham chiếu tới một biến bất kỳ thì nó không thể được truy cập từ bất kỳ nơi nào. Lúc này đối tượng này sẽ được bộ thu gom rác của Java (garbage collector) thu dọn.

Add Comment