Trong Java, một biến bất kỳ có thể có những phạm vi sau đây:
- Là biến nằm bên trong một phương thức bất kỳ.
- Là một tham số của một phương thức bất kỳ.
- Là biến nằm bên trong một đối tượng (bao gồm các trường, các thuộc tính và các biến không phải là biến static).
- Là biến static của một lớp.
Trong bài viết này, chúng ta sẽ tìm hiểu hai phạm vi đầu tiên của một biến các bạn nhé! 😀
Biến nằm bên trong một phương thức
Khi một biến nằm trong một phương thức, nó có thể nằm trong một câu lệnh if else, trong một vòng lặp for, while, do while hoặc trong một câu lệnh switch. Chúng ta thường sử dụng biến này để lưu trữ một kết quả tính toán mang tính tạm thời và chúng là những biến có phạm vi nhỏ nhất.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
package com.huongdanjava; public class Example { private int a; private int b; public int doAdd() { if (a > 0 && b > 0) { int total = 0; total = a + b; return total; } return 0; } } |
Trong ví dụ trên biến total đã được định nghĩa nằm trong phương thức doAdd() và trong một câu lệnh if.
Chúng ta không thể truy cập được biến được định nghĩa trong một phương thức từ bên ngoài phương thức đó, hoặc nếu nó được định nghĩa bên trong một câu lệnh if else, vòng lặp hoặc câu lệnh switch thì biến này cũng không thể truy cập được từ bên ngoài những câu lệnh đó.
Ví dụ:
Trong ví dụ này, biến total không thể truy cập từ bên ngoài câu lệnh if.
Ví dụ sau sẽ cho các bạn thấy biến total cũng không thể truy cập từ bên ngoài phương thức.
Tóm lại, một biến được định nghĩa trong một phương thức thì khả năng truy cập tới nó phụ thuộc vào vị trí của nó trong phương thức đó.
- Nếu nó nằm trong một if else, một vòng lặp, một câu lệnh switch hay một block ({}) thì nó chỉ có thể truy cập bên trong những câu lệnh này mà thôi.
- Còn nếu nó nằm bên ngoài tất cả những câu lệnh trên thì biến này có thể truy cập ở bất cứ đâu bên trong phương thức đó.
Những biến được định nghĩa trong một phương thức thì không thể truy cập từ các phương thức khác.
Biến là một tham số của một phương thức
Một biến được định nghĩa như là một tham số của phương thức thì khả năng truy cập của biến đó chỉ nằm trong phương thức này.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 |
package com.huongdanjava; public class Example { public int add(int a, int b) { int total = 0; total = a + b; return total; } } |
Ở đây biến a và b được định nghĩa như là một tham số của phương thức add(). Chúng chỉ có thể truy cập từ bên trong phương thức này. Nếu chúng ta thử truy cập chúng từ bên ngoài phương thức add thì sẽ bị lỗi compile ngay.
Những biến được định nghĩa như là một tham số của phương thức thì nó có truy cập ở bất kỳ đâu trong một phương thức, bên trong một câu lệnh if else, vòng lặp hay câu lệnh switch. Do đó các bạn thấy những biến này có phạm vi truy cập lớn hơn những biến được định nghĩa trong phương thức rất nhiều.
Trong bài tới, chúng ta sẽ cùng tìm hiểu hai phạm vi còn lại của biến trong Java các bạn nhé!