Xét theo khía cạnh kiểu dữ liệu có thể chia biến thành hai loại : Biến thuộc một kiểu dữ liệu cơ bản và biến tham chiếu đối tượng.
- Biến thuộc một kiểu dữ liệu cơ bản có kích thước cố định tùy theo kiểu dữ liệu đó là gì. Các kiểu dữ liệu cơ bản của Java được mô tả chi tiết trong bảng 1.1.
- Biến tham chiếu đối tượng đóng vai trò như một trỏ trỏ tới một đối tượng nào đó.
Xét theo khía cạnh phạm vi truy nhập có thể chia biến thành ba loại : biến địa phương, biến thực thể và biến lớp.
- Biến địa phương được khai báo bên trong một phương thức. Nó được sinh ra khi phương thức được gọi và dòng lệnh khai báo nó được thực thi. Nó hết hiệu lực khi phương thức kết thúc.
41 Trong ví dụ trên, biến min chỉ có hiệu lực trong phạm vi của phương thức minValue.
- Biến thực thể được khai báo bên trong một lớp nhưng không nằm trong một phương thức nào. Biến này được sinh ra khi đối tượng được tạo ra và hết hiệu lực khi đối tượng đó bị hủy.
Trong ví dụ trên, các biến studentID, name, point là các biến thực thể và được khai báo trong lớp Student. Các biến này chỉ có hiệu lực khi ta tạo ra một thực thể s1 và chỉ được truy nhập thông qua thực thể s1. Giá trị của biến chỉ có hiệu lực đối với một thực thể nào đó. Ví dụ, giá trị ‘‘PTIT1234’’ chỉ có hiệu lực với thực thể s1. Với thực thể khác, giá trị này sẽ thay đổi.
- Biến lớp : Đôi khi ta muốn có một biến dùng chung cho tất cả các đối tượng của một lớp nào đó. Ta gọi các biến dùng chung này là biến của lớp (class variable) hay gọi tắt là biến lớp. Biến này không gắn với bất cứ một đối tượng nào mà chỉ gắn với lớp đối tượng. Để phân biệt giữa biến thực thể và biến lớp khi khai báo trong một lớp, ta dùng từ khóa static cho biến lớp.
42