Lớp lồng nhau (nested class) là lớp được khai báo bên trong một lớp bao quanh (enclosing class). Nó là thành viên của lớp bao quanh, và các thành viên của lớp bao quanh không có quyền truy cập vào thành viên của lớp lồng nhau.
Ví dụ code snippet về nested class:
Ví dụ
class One {
public int val1;
public class Two {
public int val2;
}
}
class Demo {
static void Main() {
One a = new One();
a.val1++;
One.Two ab = new One.Two();
ab.val2++;
}
}
Ví dụ cho thấy class Two là nested class, được bao quanh bởi khai báo class One. Vì có modifier public, nó có thể truy cập bên ngoài phạm vi của class One.