Tĩnh trong Java:
Tĩnh là một sửa đổi không truy cập. Từ khóa tĩnh thuộc về lớp hơn thể hiện của lớp. có thể được sử dụng để đính kèm Biến hoặc Phương thức vào Lớp.
Từ khóa tĩnh CÓ THỂ được sử dụng với:
phương pháp
Biến đổi
Lớp lồng trong lớp khác
Khối khởi tạo
KHÔNG THỂ được sử dụng với:
Lớp (Không lồng nhau)
Constructor
Giao diện
Phương thức Lớp bên trong cục bộ (Sự khác biệt sau đó lớp lồng nhau)
Phương thức lớp bên trong
Biến thể hiện
Biến cục bộ
Thí dụ:
Hãy tưởng tượng ví dụ sau có một biến đối tượng có tên là đếm tăng dần trong hàm tạo:
package pkg;
class StaticExample {
int count = 0;// will get memory when instance is created
StaticExample() {
count++;
System.out.println(count);
}
public static void main(String args[]) {
StaticExample c1 = new StaticExample();
StaticExample c2 = new StaticExample();
StaticExample c3 = new StaticExample();
}
}
Đầu ra:
1 1 1
Do biến đối tượng nhận được bộ nhớ tại thời điểm tạo đối tượng, mỗi đối tượng sẽ có bản sao của biến thể hiện, nếu nó được tăng lên, nó sẽ không phản ánh đến các đối tượng khác.
Bây giờ nếu chúng ta thay đổi số lượng biến thể hiện thành một biến tĩnh thì chương trình sẽ tạo ra đầu ra khác nhau:
package pkg;
class StaticExample {
static int count = 0;// will get memory when instance is created
StaticExample() {
count++;
System.out.println(count);
}
public static void main(String args[]) {
StaticExample c1 = new StaticExample();
StaticExample c2 = new StaticExample();
StaticExample c3 = new StaticExample();
}
}
Đầu ra:
1 2 3
Trong trường hợp này, biến tĩnh sẽ chỉ nhận được bộ nhớ một lần, nếu bất kỳ đối tượng nào thay đổi giá trị của biến tĩnh, nó sẽ giữ lại giá trị của nó.
Tĩnh với Final:
Biến toàn cục được khai báo là cuối cùng và tĩnh không thay đổi cho toàn bộ thực thi. Bởi vì, các thành viên tĩnh được lưu trữ trong bộ nhớ lớp và chúng chỉ được tải một lần trong toàn bộ thực thi. Chúng là chung cho tất cả các đối tượng của lớp. Nếu bạn khai báo các biến tĩnh là cuối cùng, bất kỳ đối tượng nào cũng không thể thay đổi giá trị của chúng vì nó là cuối cùng. Do đó, các biến được khai báo là cuối cùng và tĩnh đôi khi được gọi là Hằng. Tất cả các trường của giao diện được gọi là hằng số, bởi vì chúng là cuối cùng và tĩnh theo mặc định.
Tài nguyên hình ảnh: Tĩnh cuối cùng