Câu hỏi phỏng vấn Java
Câu hỏi

Sự khác giữa một Non-static nested class v...

Câu trả lời

Trong Java, cả Non-static nested class (còn gọi là Inner class) và Static nested class là hai loại lớp lồng nhau có một số điểm khác biệt chính:

Non-static Nested Class (Inner Class):

  • Quan hệ: Inner class có một quan hệ mật thiết với lớp bên ngoài của nó. Mỗi thể hiện của inner class đều liên kết với một thể hiện cụ thể của lớp bên ngoài.
  • Truy cập: Inner class có thể truy cập tất cả các thành viên (bao gồm cả dữ liệu và phương thức) của lớp bên ngoài, kể cả những thành viên được khai báo là private.
  • Mục đích sử dụng: Thường được sử dụng khi cần một lớp để hỗ trợ lớp bên ngoài của nó mà không cần thiết cho bất kỳ lớp nào khác, hoặc khi cần truy cập vào các thành viên không tĩnh của lớp bên ngoài.

Static Nested Class:

  • Quan hệ: Static nested class không có một quan hệ mật thiết với lớp bên ngoài của nó như inner class. Nó được coi như là một thành viên tĩnh của lớp bên ngoài và có thể được tạo mà không cần một thể hiện của lớp bên ngoài.
  • Truy cập: Static nested class chỉ có thể truy cập các thành viên tĩnh của lớp bên ng...
senior

senior

Gợi ý câu hỏi phỏng vấn

middle

Tại sao Collection không mở rộng các interface CloneableSerializable trong Java?

middle

Trong Java khối finally khác phương thức finalize() như thế nào?

middle

Java Priority Queue là gì?

Bình luận

Chưa có bình luận nào