Biến tĩnh trong Java
- Biến tĩnh
- Phương pháp tĩnh
- Khối mã tĩnh.
Trước tiên hãy xem xét các biến tĩnh và phương thức tĩnh.
Biến tĩnh là gì Java?
Biến tĩnh trong Java là biến thuộc lớp và chỉ được khởi tạo một lần khi bắt đầu thực thi. Nó là một biến thuộc về lớp chứ không thuộc về đối tượng (instance). Các biến tĩnh chỉ được khởi tạo một lần, khi bắt đầu thực thi. Các biến này sẽ được khởi tạo trước, trước khi khởi tạo bất kỳ biến thể hiện nào.
- Một bản sao duy nhất được chia sẻ bởi tất cả các phiên bản của lớp
- Một biến tĩnh có thể được truy cập trực tiếp bằng tên lớp và không cần bất kỳ đối tượng nào
Cú pháp:
<class-name>.<variable-name>
Phương pháp tĩnh trong Java?
Phương pháp tĩnh trong Java là một phương thức thuộc về lớp chứ không thuộc về đối tượng. Một phương thức tĩnh chỉ có thể truy cập dữ liệu tĩnh. Nó là một phương thức thuộc về lớp chứ không thuộc về đối tượng (thể hiện). Một phương thức tĩnh chỉ có thể truy cập dữ liệu tĩnh. Nó không thể truy cập dữ liệu không tĩnh (Biến thể hiện).
- Một phương thức tĩnh chỉ có thể gọi các phương thức tĩnh khác và không thể gọi một phương thức không tĩnh từ nó.
- Một phương thức tĩnh có thể được truy cập trực tiếp bằng tên lớp và không cần bất kỳ đối tượng nào
- Dù sao đi nữa, một phương thức tĩnh không thể đề cập đến từ khóa “this” hoặc “super”
Cú pháp:
<class-name>.<method-name>
Lưu ý: Phương thức chính là tĩnh, vì ứng dụng phải có thể truy cập được để chạy trước khi bất kỳ quá trình khởi tạo nào diễn ra.
Hãy tìm hiểu các sắc thái của từ khóa tĩnh bằng cách thực hiện một số bài tập!
Ví dụ: Cách gọi các biến và phương thức tĩnh
Bước 1) Sao chép mã sau vào trình soạn thảo
public class Demo{
public static void main(String args[]){
Student s1 = new Student();
s1.showData();
Student s2 = new Student();
s2.showData();
//Student.b++;
//s1.showData();
}
}
class Student {
int a; //initialized to zero
static int b; //initialized to zero only when class is loaded not for each object created.
Student(){
//Constructor incrementing static variable b
b++;
}
public void showData(){
System.out.println("Value of a = "+a);
System.out.println("Value of b = "+b);
}
//public static void increment(){
//a++;
//}
}
Bước 2) Lưu và biên dịch mã. Chạy mã dưới dạng, Bản trình diễn java.
Bước 3) Sản lượng dự kiến hiển thị bên dưới
Sơ đồ sau đây cho thấy cách các biến tham chiếu và đối tượng được tạo ra và các biến tĩnh được truy cập bởi các phiên bản khác nhau.
Bước 4) Có thể truy cập một biến tĩnh từ bên ngoài lớp bằng cú pháp Tên lớp.Variable_Name. Bỏ chú thích dòng #7 & 8. Lưu, biên dịch và chạy. Quan sát đầu ra.
Value of a = 0 Value of b = 1 Value of a = 0 Value of b = 2 Value of a = 0 Value of b = 3
Bước 5) Dòng bỏ ghi chú 25,26 & 27. Lưu, biên dịch và chạy.
error: non-static variable a cannot be referenced from a static context a++;
Bước 6) Lỗi =? Điều này là do không thể truy cập biến thể hiện “a” từ phương thức lớp tĩnh java “tăng".
Khối tĩnh là gì Java?
khối tĩnh là một khối lệnh bên trong một Java lớp sẽ được thực thi khi một lớp được tải lần đầu tiên vào JVM. Một khối tĩnh giúp khởi tạo các thành viên dữ liệu tĩnh, giống như các hàm tạo giúp khởi tạo các thành viên cá thể.
class Test{
static {
//Code goes here
}
}
Chương trình sau đây là ví dụ về khối tĩnh Java.
Ví dụ: Cách truy cập khối tĩnh
public class Demo {
static int a;
static int b;
static {
a = 10;
b = 20;
}
public static void main(String args[]) {
System.out.println("Value of a = " + a);
System.out.println("Value of b = " + b);
}
}
bạn sẽ nhận được kết quả sau của chương trình.
Value of a = 10 Value of b = 20


