Blog này sẽ minh họa việc sử dụng các khối tĩnh trong Java.
'Khối tĩnh' trong Java là gì?
Một khối được phân bổ là “ tĩnh ” bằng cách liên kết từ khóa tĩnh với nó. Các khối này có mức độ ưu tiên cao hơn “ chủ yếu ” sao cho chúng được thực hiện trước “ chủ yếu() ' phương pháp.
cú pháp
lớpChính {
tĩnh {
Hệ thống . ngoài . bản in ( 'Chào thế giới' ) ;
} }
Theo cú pháp trên, khối bao gồm được gán là “ tĩnh ” và sẽ được gọi trước hàm main.
Cân nhắc quan trọng về “Khối tĩnh”
- Các khối tĩnh trong Java được gọi tự động khi lớp được nạp vào bộ nhớ.
- Chúng chỉ được thực hiện một lần, ngay cả khi nhiều đối tượng lớp được tạo.
- Không có giới hạn/hạn chế về số lượng khối khởi tạo tĩnh trong một lớp.
- Các khối này cũng có thể được sử dụng để khởi tạo các biến tĩnh.
Ví dụ 1: Sử dụng “Khối tĩnh” trong Java
Trong ví dụ này, khối tĩnh có thể được sử dụng để quan sát trình tự mà nó có thể được thực thi đối với khối chính:
lớp công khai Ví dụ {
tĩnh {
Hệ thống . ngoài . bản in ( 'Đây là một khối tĩnh!' ) ;
}
publicstaticvoidmain ( Sợi dây [ ] tranh luận ) {
Hệ thống . ngoài . bản in ( 'Đây là chính!' ) ;
} }
Trong khối mã trên, chỉ cần bao gồm một “ tĩnh ” khối tích lũy thông báo đã nêu và trong bước tiếp theo, hiển thị thông báo đã cho trong “ chủ yếu ”.
đầu ra
Trong kết quả này, có thể phân tích rằng khối tĩnh được gọi trước khối chính.
Ví dụ 2: Thực thi giá trị tĩnh trong “Khối tĩnh” trong Java
Trong hình minh họa cụ thể này, một giá trị tĩnh có thể được khởi tạo trong khối tĩnh và sau đó được hiển thị trong khối chính:
lớp tùy chỉnh {tĩnh tôi ;
tĩnh {
Tôi = 10 ;
Hệ thống . ngoài . bản in ( 'Tĩnh Khối gọi!' ) ;
} }
lớp công khai Ví dụ {
publicstaticvoidmain ( Sợi dây [ ] tranh luận ) {
Hệ thống . ngoài . bản in ( phong tục. Tôi ) ;
} }
Trong các dòng mã trên:
- Trước hết, tạo một lớp có tên “ phong tục ”.
- Trong lớp, chỉ định một “ tĩnh ” biến và khởi tạo nó trong phân bổ “ tĩnh ' khối.
- Cuối cùng, gọi biến được khởi tạo trong biến chính bằng cách tham chiếu đến lớp chứa nó.
đầu ra
Trong kết quả trên, có thể thấy rằng, tương tự như vậy, “ tĩnh ” khối được thực thi trước và giá trị khởi tạo trong khối này cũng được hiển thị tương ứng.
Ví dụ 3: Thực thi “Static Block” trước Constructor
Trong ví dụ này, khối tĩnh có thể được chỉ định trước hàm tạo và mức độ ưu tiên cũng như việc thực thi của nó có thể được quan sát tương ứng:
lớp tùy chỉnh {tĩnh {
Hệ thống . ngoài . bản in ( 'Đây là một khối tĩnh' ) ;
}
phong tục ( ) {
Hệ thống . ngoài . bản in ( 'Đây là một nhà xây dựng' ) ;
} }
lớp công khai Ví dụ {
publicstaticvoidmain ( Sợi dây [ ] tranh luận ) {
đối tượng tùy chỉnh1 = mới phong tục ( ) ;
obj2 tùy chỉnh = mới phong tục ( ) ;
} }
Trong các dòng mã trên:
- Tương tự như vậy, định nghĩa một lớp có tên “ phong tục ”.
- Bây giờ, chỉ định “ tĩnh ” khối và bao gồm hàm tạo của lớp, tức là, “ phong tục() ” lần lượt có các thông điệp đã nêu.
- Về cơ bản, hãy tạo hai đối tượng của lớp đã tạo để gọi các chức năng của lớp theo thứ tự ưu tiên tương ứng.
đầu ra
Trong đầu ra này, những cân nhắc sau đây có thể được thực hiện:
- Khối tĩnh được ưu tiên cao hơn so với hàm tạo chứa trong đó.
- Hai đối tượng của lớp được tạo, nhưng khối tĩnh được thực hiện một lần, như đã thảo luận trước đó.
Phần kết luận
Các ' khối tĩnh ” trong Java chỉ thực thi một lần khi một lớp được tải vào bộ nhớ và được thực thi trước “ chủ yếu() ' phương pháp. Các ví dụ được thảo luận trong bài viết chứng minh rằng các khối này có mức độ ưu tiên cao hơn hàm tạo chính và hàm tạo lớp tương ứng và chỉ được gọi một lần, bất kể số lượng đối tượng được tạo. Blog này đã thảo luận về việc sử dụng các khối tĩnh trong Java.