icantech
Lập trình chung
1116
23/09/2023

Giải mã bí mật về từ khóa static trong java

Static là từ khóa quen thuộc với tất cả các lập trình viên Java. Vậy static là gì? phương thức tĩnh trong java là phương thức như thê thế nào? Biến static trong java có lợi thế ra sao? Đều là những câu hỏi thường trực của tất cả các lập trình viên mới vào nghề. Bài viết ngày hôm nay sẽ giúp bạn có được câu trả lời cho tất cả những câu hỏi kể trên.

1. Tổng quan về static trong Java

Static là một trong Java được lập trình viên sử dụng để xử lý các vấn đề liên quan đến thiết kế và triển khai ứng dụng. Trước tiên, chúng ta hãy cùng nhau tìm hiểu khái niệm static trong Java là gì?

1.1. Static trong Java là gì?

Static trong Java được lập trình sử dụng trong việc quản lý bộ nhớ. Người lập trình viên sử dụng từ khóa static để áp dụng với các biến, các khối, các phương thức và các lớp lồng nhau. Một lưu ý nhỏ cho bạn khi sử dụng từ khóa static là từ khóa này thuộc về lớp chứ không thuộc thể hiện (instance) của lớp. 

Trong Java, java static có thể 1 trong hướng cách sau:

  • Biến tĩnh (Static Variables): Biến tĩnh là biến được chia sẻ giữa tất cả các đối tượng của lớp. Chúng được sử dụng để lưu trữ các giá trị chung cho tất cả các thể hiện của lớp.
  • Phương thức tĩnh (Static Methods): Phương thức tĩnh không phụ thuộc vào thể hiện cụ thể của lớp và có thể gọi trực tiếp từ lớp mà không cần tạo đối tượng.
  • Phương thức tĩnh (Static Methods): Phương thức tĩnh không phụ thuộc vào thể hiện cụ thể của lớp và có thể gọi trực tiếp từ lớp mà không cần tạo đối tượng.

1.2. Lợi thế của biến static trong Java

Khi lập trình viên thực hiện khai báo 1 biến là static, biến đó được định nghĩa là biến tĩnh (hay biến static). Bạn có thể dụng biến static khi cần tham chiếu thuộc tính và áp dụng chung cho tất cả đối tượng. Đặc điểm của biến static là nó chỉ lấy bộ nhớ 1 lần trong Class Area, tính tại thời điểm tải lớp đó. 

Lợi thế lớn nhất khi bạn sử dụng từ khóa static là chúng sẽ giúp bạn tiết kiệm tối đa bộ nhớ. Static vừa giúp tối ưu dung lượng bộ nhớ lại vẫn giúp cho chương trình của bạn chạy mượt mà, ổn định. 

Ví dụ đơn giản về biến static:

bien-static

Kết quả thu được sẽ là:

ket-qua

2. Phương thức static trong Java

Phương thức static hay phương thức tĩnh trong Java có được khi lập trình viên thực hiện khai báo từ khóa static với 1 phương thức. 

2.1. Lưu ý chung

Một số lưu ý bạn cần quan tâm khi sử dụng phương thức static:

  • Đây là phương thức thuộc lớp, không thuộc đối tượng của lớp
  • Bạn có thể tạo phương thức static mà không cần tạo instance của một lớp
  • Phương thức có quyền truy cập biến static đồng thời có thể tùy chỉnh thay đổi giá trị của biến.

Hãy cùng xem ví dụ sau về phương thức static:

phuong-thuc-static

Kết quả như sau:

ket-qua

2.2. Hạn chế của phương thức tĩnh trong Java

Phương thức static có những hạn chế riêng bạn cần biết, đó là:

  • Không áp dụng được từ khóa this và super
  • Không thể sử dụng biến non-static hoặc trực tiếp gọi ra phương thức non-static
  • Không thể truy cập các biến không tĩnh (instance variables)
  • Không thể sử dụng từ khóa "this" hoặc "super" 
  • Không thể override (ghi đè) phương thức 
  • Không thể sử dụng trong kế thừa đa cấp
  • Không thể truy cập các thành phần bảo mật (private members) 
  • Không thể sử dụng để thay đổi trạng thái đối tượng

3. Khối static trong Java

Khối static được khởi tạo  khi bạn khai báo biến static là 1 khối. Mặc dù bạn có thể khởi tạo trực tiếp các biến static, nhưng với những trường hợp cần phải khai báo nhiều dòng, sử dụng khối static sẽ đạt hiệu quả cao hơn. Bên cạnh đó, khối static còn có nhiệm vụ thực thi các phương thức main khi tải các lớp. 

Chúng ta hãy cùng làm ví dụ sau:

vi-du

Kết quả thu được: 

ket-qua

Khi sử dụng khối static, bạn cần lưu ý một số vấn đề như sau:

  • Trong 1 lớp, có thể chứa nhiều khối static trong đó
  • Hệ thống không thể trả về giá trị của khối static trực tiếp
  • Biến static, khối static chạy theo đúng thứ tự xuất hiện trong lớp của chúng. 

4. Ứng dụng của biến static trong Java

Biến static được ứng dụng nhiều trong Java, để giải quyết các vấn đề:

  • Truy vấn database (cơ sở dữ liệu): làm giảm đi phần nào độ phức tạp của mã, từ đó bạn cũng dễ dàng hơn trong việc quản lý mã.
  • Thiết lập cấu hình thông tin của ứng dụng: static trong Java dùng để lưu trữ cấu hình thông tin của ứng dụng, ví dụ như đường dẫn đến tập tin, thông tin đăng nhập vào cơ sở dữ liệu… 
  • Đếm số lượng đối tượng được tạo ra từ lớp: lưu trữ số lượng đối tượng được tạo ra từ lớp, đồng thời khi một đối tượng mới được khởi tạo, giá trị của biến cũng tăng theo.
  • Định nghĩa các hằng số: thông qua các lớp static, các hằng số của ứng dụng được định nghĩa, giúp bạn dễ dàng quản lý cũng như hạn chế nhầm lẫn khi thay đổi giá trị hằng số.
  • Tính toán số liệu thống kê: phương thức tĩnh trong java (phương thức static) dùng để tính toán số liệu tổng, trung bình hay độ lệch chuẩn của một mảng số. 

Qua nội dung bài viết chia sẻ ở trên, chúng ta đã lần lượt cùng nhau tìm hiểu từ khóa static trong java là gì, đồng thời biết thêm về biến static, phương thức tĩnh trong Java. Việc hiểu sâu, nắm chắc các kiến thức java static giúp cho bạn thiết kế và triển khai các ứng dụng Java đạt hiệu quả cao hơn.

Nguồn ảnh: ICANTECH.

Share
Tags
Lập trình chung

Bài tương tự