Inner Class trong Java



Inner Class là gì?

Inner Class là một khái niệm chỉ về một lớp được khai báo bên trong lớp khác. Chúng ta sử dụng các Inner Class để nhóm các lớp và các Interface có quan hệ với nhau vào một vị trí để tăng tính đọc và tính duy trì.

Thêm vào đó, bạn có thể truy cập tất cả thành viên của Outer Class (lớp mà bao Inner Class), đó là: các thành viên dữ liệu và các phương thức private.

Cú pháp của Inner Class

class  Outer_class{  

 // Day la phan code  
 class  nner_class{  
  // Day la phan code  
 }  
}  

Lợi thế khi sử dụng Inner Class trong Java

Sử dụng Inner Class đem lại ba lợi thế chính là:

  • Inner Class biểu diễn một kiểu quan hệ đặc biệt, đó là: nó có thể truy cập tất cả các thành viên (thành viên dữ liệu và các phương thức) của Outer Class, bao gồm cả các thành viên được khai báo là private.

  • Inner Class được sử dụng để phát triển tính đọc và tính dễ dàng duy trì của code, bởi vì khi sử dụng Inner Class tức là bạn đã nhóm các lớp và các Interface có mối quan hệ với nhau vào một nơi.

  • Giúp tối ưu hóa code, tức là bạn có thể viết ít code hơn nhưng có thể mang lại hiệu quả tương tự.

Điểm khác nhau giữa Inner Class và Nested Class trong Java

Inner Class là một phần của Nested Class. Trong Nested Class, có hai loại là non-staticstatic. Các Nested Class mà không phải ở dạng static thì đó là Inner Class. Trong đó, loại Non-static Nested Class bao gồm:

  • Member Inner Class: là một lớp được tạo bên trong lớp và bên ngoài phương thức.

  • Anonymous Inner Class: là một lớp được tạo để triển khai (kế thừa) Interface hoặc kế thừa lớp. Tên của nó được quyết định bởi Compiler.

  • Local Inner Class: Một lớp được tạo bên trong phương thức.

Loại static Nested Class: một lớp static được tạo bên trong một lớp.

Nested Interface: là một Interface được tạo bên trong một lớp hoặc một Interface.

Mọi người cho thể tham gia khóa học thứ 4 của vietjackteam vào cuối tháng 08/2017 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : Khóa học Java.Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Khóa học cũng đưa 200 câu hỏi phỏng vấn java trên https://www.javatpoint.com/corejava-interview-questions vào nội dung để giúp các bạn dễ dàng vượt qua kì phỏng vấn

Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Thông tin khóa học tại Khóa học Java Online trên Udemy

Mọi người có thể xem demo nội dung khóa học tại địa chỉ Video demo khóa học Offline

Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.



Demo một bài giảng trong khóa học online tại vietjackteam.