Điều gì xảy ra khi một thành viên trong a class
được tuyên bố là static
..? Các thành viên có thể được truy cập mà không cần khởi tạo class
. Do đó làm cho lớp bên ngoài (lớp cấp cao nhất) static
không có ý nghĩa. Do đó, nó không được phép.
Nhưng bạn có thể đặt các lớp bên trong là tĩnh (Vì nó là thành viên của lớp cấp cao nhất). Sau đó, lớp đó có thể được truy cập mà không cần khởi tạo lớp cấp cao nhất. Hãy xem xét ví dụ sau.
public class A {
public static class B {
}
}
Bây giờ, bên trong một lớp khác C
, lớp B
có thể được truy cập mà không cần tạo một thể hiện của lớp A
.
public class C {
A.B ab = new A.B();
}
static
Các lớp học cũng có thể có non-static
thành viên. Chỉ có lớp được tĩnh.
Nhưng nếu static
từ khóa bị xóa khỏi lớp B
, nó không thể được truy cập trực tiếp mà không cần tạo một thể hiện của A
.
public class C {
A a = new A();
A.B ab = a. new B();
}
Nhưng chúng ta không thể có static
các thành viên trong một non-static
lớp bên trong.