Inner Class - Lớp lồng nhau
Java có hỗ trợ lớp lồng nhau; một lớp có thể là một thành viên biên trong một lớp khác. Tạo ra lớp trong lớp khác rất đơn gian. Chỉ cần định nghĩa nó đúng như cách thông thường nhưng là nằm bên trong một lớp.
Một lớp bên trong khác một chút với lớp thông thường là nó có thể khai báo với private nếu muốn lớp bên trong không được các lớp khác sử dụng.
Hãy xem ví dụ:
class Robot { String id; Robot(String i) { id = i; Brain b = new Brain(); b.think(); } private class Brain { public void think() { System.out.println(id + " thinking"); } } } public class Program { public static void main(String[] args) { Robot r = new Robot("I'm"); } } //Output:I'm thinking
Trong lớp Robot đã định nghĩa thêm lớp con là Brain và đã được sử dụng ở khởi tạo Robot