Từ khóa static (cho dù đó là một biến hay một khối) đều thuộc về lớp. Vì vậy, khi lớp được gọi, các biến hoặc khối này được thực thi. Vì vậy, hầu hết việc khởi tạo sẽ được thực hiện với sự trợ giúp của từ khóa tĩnh. Vì nó thuộc về chính lớp, nên lớp có thể truy cập trực tiếp vào nó mà không cần tạo một thể hiện của lớp.
Hãy lấy một ví dụ, Có một lớp giày trong đó có một số biến như màu sắc, kích cỡ, thương hiệu, v.v. Và ở đây nếu công ty sản xuất giày chỉ có một thương hiệu thì chúng ta nên khởi tạo nó dưới dạng biến tĩnh. Vì vậy, khi lớp giày được gọi và các loại giày khác nhau được sản xuất (bằng cách tạo một thể hiện của lớp) lúc đó màu sắc và kích cỡ sẽ chiếm bộ nhớ bất cứ khi nào giày mới được tạo ra nhưng ở đây thương hiệu là tài sản chung cho tất cả các loại giày, để nó sẽ chiếm bộ nhớ một lần cho dù có bao nhiêu đôi giày được sản xuất.
Thí dụ:
class Shoe {
int size;
String colour;
static String brand = "Nike";
public Shoe(int size, String colour) {
super();
this.size = size;
this.colour = colour;
}
void displayShoe() {
System.out.printf("%-2d %-8s %s %n",size,colour, brand);
}
public static void main(String args[]) {
Shoe s1 = new Shoe(7, "Blue");
Shoe s2 = new Shoe(8, "White");
System.out.println("=================");
s1.displayShoe();
s2.displayShoe();
System.out.println("=================");
}
}