Phạm vi của biến trong Java – Phần 2

Tiếp theo phần 1, hôm nay chúng ta hãy cùng tìm hiểu hai phạm vi còn lại của biến trong Java và xem xét xem trong trường hợp các biến có cùng tên nhưng khác phạm vi thì Java sẽ xử lý như thế nào các bạn nhé!

Biến nằm bên trong một đối tượng

Biến nằm bên trong một đối tượng, hay tiếng Anh còn gọi là instance variables, có giá trị trong một vòng đời của một đối tượng. Chúng được định nghĩa bên trong một lớp nhưng ở bên ngoài tất cả các phương thức và nó có thể được truy cập bởi các phương thức không phải static nằm bên trong lớp đó.

Ví dụ bên dưới biến a là một biến instance variable:

Phạm vi của một biến nằm bên trong một đối tượng rộng hơn biến nằm bên trong một phương thức hay là một tham số của phương thức. Bởi vì nó có thể được truy cập bên trong tất cả các phương thức nằm trong lớp đó và có thể được truy cập từ các lớp khác nếu nó được định nghĩa với access modifier phù hợp.

Ví dụ:

Phạm vi của biến trong Java - Phần 2


Biến static của một lớp

Biến static của một lớp, hay còn là class variables, được định nghĩa sử dụng từ khóa static. Biến này thuộc về lớp, không thuộc về đối tượng của lớp đó và giá trị của biến này được chia sẻ giữa tất cả các đối tượng của lớp đó, nghĩa là giá trị của nó sẽ giống nhau ở tất cả các đối tượng.

Ví dụ biến NAME dưới đây là một biến static:

Chúng ta không cần phải khởi tạo đối tượng để có thể truy cập giá trị của biến static. Chúng có thể truy cập bằng cách sử dụng tên của lớp mà chúng được định nghĩa bên trong.

Ví dụ

Phạm vi của biến trong Java - Phần 2

Hoặc sử dụng đối tượng để truy cập biến static vẫn được:

Phạm vi của biến trong Java - Phần 2

Phạm vi của một biến static là nó có thể được truy cập từ bất cứ đối tượng nào của lớp định nghĩa nó và cả những đối tượng của các lớp khác nếu nó được định nghĩa với access modifier phù hợp.


Biến có cùng tên nhưng khác phạm vi

Trong một lớp, chúng ta không thể định nghĩa một biến static và một biến instance variable có cùng tên các bạn nhé!

Phạm vi của biến trong Java - Phần 2

Cả biến nằm trong một phương thức và biến là tham số của một phương thức, chúng ta cũng không thể định nghĩa cùng tên được các bạn nhé!

Phạm vi của biến trong Java - Phần 2

Nhưng chúng ta có thể định nghĩa một biến nằm trong phương thức có cùng tên với biến static hoặc biến instance variable các bạn ạ! Ví dụ như sau:

Phạm vi của biến trong Java - Phần 2

4 thoughts on “Phạm vi của biến trong Java – Phần 2

  1. Pingback: phạm vi của biến trong java - konkeng

Add Comment