Nội dung chính
Định nghĩa và cú pháp
Java inner class hoặc lớp lồng nhau trong java là một lớp được khai báo trong lớp hoặc interface khác.
Chúng ta sử dụng inner class để nhóm các lớp và các interface một cách logic lại với nhau ở một nơi để giúp cho code dễ đọc và dẽ bảo trì hơn.
Thêm vào đó, nó có thể truy cập tất cả các thành viên của lớp bên ngoài (outer class) bao gồm các thành viên dữ liệu private và phương thức.
Cú pháp của inner class trong java
class Java_Outer_class{ //code class Java_Inner_class{ //code } }
Các ưu điểm của inner class trong java
Về cơ bản có ba ưu điểm của inner class trong java như sau:
1) Inner class biển diễn cho một kiểu đặc biệt của mối quan hệ đó là nó có thể truy cập tất cả các thành viên (các thành viên dữ liệu và các phương thức) của lớp ngoài bao gồm cả private.
2) Inner class được sử dụng để giúp code dễ đọc hơn và dễ bảo trì bởi vì nó nhóm các lớp và các interface một cách logic vào trong một nơi.
3) Code được tối ưu hóa: tiết kiệm code hơn.
Các kiểu của lớp lồng nhau trong java
Có hai kiểu của các lớp lồng nhau. Lớp lồng nhau non-static và lớp lồng nhau static. Lớp lồng nhau non-static còn được gọi là inner class.
- Lớp lồng nhau non-static (inner class)
- a)Member inner class
- b)Annomynous inner class
- c)Local inner class
- Lớp lồng nhau Static
Kiểu | Mô tả |
---|---|
Member Inner Class | Một lớp được tạo ra bên trong một lớp và bên ngoài phương thức. |
Anonymous Inner Class | Một lớp được tạo ra để implements interface hoặc extends class. Tên của nó được quyết định bởi trình biên dịch java.. |
Local Inner Class | Một lớp được tạo ra bên trong một phương thức. |
Static Nested Class | Một lớp static được tạo ra bên trong một lớp. |
Nested Interface | Một interface được tạo ra bên trong một lớp hoặc một interface. |