98. Static Nested Class trong lập trình Java

Static Nested Class (Lớp Nested Tĩnh) trong lập trình Java là một loại Nested Class (lớp lồng) được định nghĩa bên trong một lớp khác và được đánh dấu là static. Nó tương tự như Member Inner Class, nhưng có một điểm quan trọng là không cần một đối tượng của lớp bên ngoài để tạo đối tượng của Static Nested Class. Static Nested Class được liên kết chặt chẽ với lớp bên ngoài của nó và chỉ có thể truy cập các thành viên tĩnh (static members) của lớp bên ngoài.

Để định nghĩa một Static Nested Class, bạn đặt nó bên trong lớp bên ngoài như một thành viên tĩnh của lớp, bên trong các cặp ngoặc nhọn của lớp bên ngoài và đánh dấu nó là static. Dưới đây là cú pháp để định nghĩa Static Nested Class:

java
class OuterClass {
    // Thành viên tĩnh (static) của lớp bên ngoài

    static class StaticNestedClass {
        // Thành viên (Member) của Static Nested Class
    }
}

Có thể tạo đối tượng của Static Nested Class từ bên ngoài lớp bao ngoài mà không cần tạo một đối tượng của lớp bao ngoài. Từ bên ngoài, bạn chỉ cần sử dụng tên của lớp bao ngoài để tạo đối tượng của Static Nested Class.

Ví dụ:

java
class OuterClass {
    private static int x = 10;

    static class StaticNestedClass {
        void display() {
            System.out.println("Value of x: " + x);
        }
    }
}

public class Main {
    public static void main(String[] args) {
        // Tạo đối tượng của Static Nested Class
        OuterClass.StaticNestedClass nested = new OuterClass.StaticNestedClass();
        nested.display();
    }
}

Trong ví dụ trên, ta đã tạo một Static Nested Class StaticNestedClass trong lớp OuterClass. Sau đó, ta đã tạo một đối tượng StaticNestedClass từ bên ngoài OuterClass bằng cách sử dụng cú pháp OuterClass.StaticNestedClass. Bạn sẽ thấy rằng không cần tạo đối tượng OuterClass, ta có thể truy cập đến StaticNestedClass một cách trực tiếp.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top