Phương thức tĩnh A thuộc lớpvà phương thức không tĩnh thuộc về một đối tượng của lớp. Các phương thức tĩnh có thể được truy cập trực tiếp từ lớp, trong khi các phương thức không tĩnh (hoặc phương thức thể hiện mà tôi muốn gọi chúng) phải được truy cập từ một thể hiện.
Khi nào thì một phương thức là tĩnh so với không tĩnh?
Phương thức tĩnh thuộc về chính lớpvà phương thức không tĩnh (hay còn gọi là thể hiện) thuộc về từng đối tượng được tạo ra từ lớp đó. Nếu phương thức của bạn thực hiện điều gì đó không phụ thuộc vào các đặc tính riêng của lớp nó, hãy đặt nó ở trạng thái tĩnh (nó sẽ làm cho dấu vết của chương trình nhỏ hơn).
Khi nào bạn sử dụng phương thức không tĩnh?
Một phương thức không tĩnh trong Java có thể truy cập các phương thức và biến tĩnh như sau:
- Một phương thức không tĩnh có thể truy cập bất kỳ phương thức tĩnh nào mà không cần tạo một thể hiện của lớp.
- Một phương thức không tĩnh có thể truy cập bất kỳ biến tĩnh nào mà không cần tạo một thể hiện của lớp vì biến tĩnh thuộc về lớp.
Khi nào bạn nên sử dụng các hàm tĩnh?
Khi bạn muốn có một biến luôn có cùng giá trị cho mọi đối tượng của lớp, vĩnh viễn và mãi mãi, hãy làm cho nó tĩnh. Nếu bạn có một phương thức không sử dụng bất kỳ biến cá thể hoặc phương thức cá thể nào, bạn có thể nên đặt nó ở chế độ tĩnh.
Sự khác biệt giữa trường tĩnh và trường không tĩnh là gì?
Các biến hoặc trường tĩnh thuộc về lớp chứ không thuộc về bất kỳ đối tượng nào của lớp. Một biến tĩnh được khởi tạo khi lớp được tải trong thời gian chạy. Trường không tĩnh là trường thể hiện của một đối tượng. Chúng chỉ có thể được truy cập hoặc gọi thông qua một tham chiếu đối tượng.