CodeGym /Blog Java /Ngẫu nhiên /Lớp tĩnh trong Java là gì?

Lớp tĩnh trong Java là gì?

Xuất bản trong nhóm
Java là ngôn ngữ lập trình hướng đối tượng và các đối tượng là các khối xây dựng chính trong Java. Tuy nhiên, Java cũng cung cấp khái niệm về lớp tĩnh. Lớp tĩnh là lớp chỉ có thể chứa các phương thức tĩnh, biến và các lớp lồng nhau. Trong bài viết này, chúng ta sẽ khám phá lớp tĩnh là gì, nó hoạt động như thế nào và cách triển khai nó trong Java.

Lớp tĩnh trong Java

Lớp tĩnh trong Java là lớp không thể khởi tạo được. Tức là chúng ta không thể tạo các đối tượng của một lớp tĩnh. Chúng ta chỉ có thể truy cập các thành viên của nó bằng chính tên lớp. Nói cách khác, lớp tĩnh là lớp chỉ chứa các thành viên tĩnh. Các lớp tĩnh thường được sử dụng để nhóm các phương thức tiện ích liên quan lại với nhau. Ví dụ: lớp Math trong Java là một lớp tĩnh cung cấp nhiều phép toán khác nhau như tìm giá trị lớn nhất hoặc nhỏ nhất, các hàm lượng giác, v.v. Chúng ta có thể truy cập các phương thức trong lớp Math bằng cách sử dụng tên lớp và toán tử dấu chấm, như sau: Math.max(5, 10) .

Ví dụ

Chúng ta hãy xem một ví dụ về lớp tĩnh trong Java. Giả sử chúng ta muốn tạo một lớp để thực hiện các thao tác chuỗi khác nhau như đảo ngược chuỗi, tìm độ dài của chuỗi, v.v. Trong ví dụ này, chúng tôi đã tạo một lớp tĩnh có tên StringUtils , chứa hai phương thức tĩnh: Reverselength . Các phương thức này lấy một chuỗi làm đối số và trả về chuỗi đảo ngược và độ dài của chuỗi tương ứng. Trong phương thức main , chúng ta đã tạo một chuỗi str và truyền nó cho các phương thức `reverse` và `length` của lớp StringUtils .
public class StringUtils {

    public static String reverse(String str) {
        StringBuilder sb = new StringBuilder(str);
        return sb.reverse().toString();
    }

    public static int length(String str) {
        return str.length();
    }

    public static void main(String[] args) {
        String str = "Hello, World!";

        String reversedStr = StringUtils.reverse(str);
        int strLength = StringUtils.length(str);
        System.out.println(reversedStr);
        System.out.println(strLength);
    }
}
Đầu ra của chương trình sẽ là:
!dlroW ,olleH 13
Trong ví dụ cập nhật tiếp theo, chúng tôi đã thêm một lớp lồng nhau tĩnh có tên là Formatter trong lớp StringUtils . Lớp lồng tĩnh này cũng chứa một phương thức tĩnh gọi là định dạng nhận vào một chuỗi và trả về phiên bản chữ hoa của nó. Trong phương thức main , chúng ta đã sử dụng Formatter lớp lồng nhau tĩnh để định dạng chuỗi str và in nó ra bàn điều khiển. Chúng tôi cũng đã gọi các phương thức đảo ngượcđộ dài của lớp StringUtils để đảo ngược chuỗi và tìm độ dài của chuỗi tương ứng.
public class StringUtils {

    // nested Static class
    public static class Formatter {
        public static String format(String str) {
            return str.toUpperCase();
        }
    }

    public static String reverse(String str) {
        StringBuilder sb = new StringBuilder(str);
        return sb.reverse().toString();
    }

    public static int length(String str) {
        return str.length();
    }

    public static void main(String[] args) {
        String str = "Hello, World!";

        // Using static class
        String formattedStr = StringUtils.Formatter.format(str);
        System.out.println(formattedStr);

        String reversedStr = StringUtils.reverse(str);
        int strLength = StringUtils.length(str);
        System.out.println(reversedStr);
        System.out.println(strLength);
    }
}
Đầu ra của chương trình sẽ là:
CHÀO THẾ GIỚI! !dlroW ,olleH 13
Như bạn có thể thấy, các lớp tĩnh trong Java cũng có thể chứa các lớp tĩnh lồng nhau, có thể được sử dụng để nhóm các chức năng liên quan lại với nhau.

Phần kết luận

Tóm lại, một lớp tĩnh trong Java là một lớp chỉ có thể chứa các phương thức tĩnh, biến và các lớp lồng nhau. Chúng ta không thể tạo các đối tượng của một lớp tĩnh và chỉ có thể truy cập các thành viên của nó bằng chính tên lớp đó. Các lớp tĩnh thường được sử dụng để nhóm các phương thức tiện ích liên quan lại với nhau. Trong ví dụ trên, chúng ta đã thấy cách tạo một lớp tĩnh và sử dụng nó để thực hiện các thao tác chuỗi khác nhau.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION