Thứ tự các từ khóa public và static khi khai bao như thế nào?
03/11/2020 120
Lựu [Tổng hợp]
Cảm ơn Quý khách đã gửi thông báo.
Quý khách vui lòng thử lại sau.
Khái Niệm static
Có thể nói, một trong những nghĩa tiếng Việt trong ngôn ngữ lập trình gây khó hiểu nhất là đây. Static – Dịch ra là Tĩnh. Không hiểu gì cả.
Thực ra thì từ khóastatic sẽ được áp dụng khi bạn khai báo các thành phần của lớp như bên dưới mình sẽ trình bày rõ. Nó mang tác dụng chính đối với sự quản lý về mặt bộ nhớ. Cụ thể là, các thành viên static sẽ thuộc về quản lý bộ nhớ của lớp, chứ không thuộc về quản lý của thể hiện lớp [hay có thể hiểu là đối tượng].
Vẫn chưa hiểu.
Mình mời bạn nhìn vào ví dụ sau, có thể qua ví dụ bạn vẫn chưa nắm rõ công dụng mà từ khóastatic mang lại, nhưng hãy xem nó tác động như thế nào đến việc quản lý các giá trị bên trong lớp mà mình có nói trên đây. Bạn hãy chú ý các thành phần static và không statictrong lớp ToaDo.
public class ToaDo { public static String thongTin; public int x; public int y; }Vậy như mình có nói. Thuộc tính thongTinlà static, và nó sẽ thuộc quyền quản lý của lớp ToaDo. Các thuộc tính x, ylà không static, sẽ thuộc quyền quản lý của các thể hiện, hay các đối tượng được khai báo từ ToaDo.
Vấn đề sẽ rõ ràng hơn khi bạn dùng đến các giá trị static này của ToaDo ở một lớp khác.
Bạn có thấy rằng, các thuộc tính x, y, cũng như bao giá trị không static khác mà bạn từng biết, đều phải được gọi thông qua một thể hiện của lớp, như toaDo1, toaDo2ở ví dụ. Còn thuộc tính thongTin lại được truy cập trực tiếp thông qua lớp ToaDo, mà không cần bất cứ một thể hiện nào cả.
Đến đây thì bạn đã hiểu được giá trị static là gì đúng không nào. Chắc bạn cũng “hườm hườm” ngẫm được tại sao nó lại có nghĩa là Tĩnh.
Tiếp theo chúng ta cùng tìm hiểu, từ khóa static sinh ra để làm gì.