Member Inner Class trong Java



Member Inner Class là gì ?

Một lớp không phải là static mà được tạo bên trong một lớp nhưng bên ngoài một phương thức thì được gọi là Member Inner Class.

Cú pháp

class  Outer_class{   // Day la phan code  
 class  Inner_class{  
  // Day la phan code  
 }  
}  

Ví dụ về Member Inner Class trong Java

Trong ví dụ sau, chúng ta tạo phương thức printMessage() trong Member Inner Class để truy cập thành viên dữ liệu static của Outer Class.

class MemberOuterExample {
	private int exam = 30;
	// khai bao Inner Class
	class Inner {
		void printMessage() {
			System.out.println("Gia tri cua bien exam la: " + exam);
		}
	}
	// phan ket thuc cua khai bao
	public static void main(String args[]) {
		MemberOuterExample obj = new MemberOuterExample();
		MemberOuterExample.Inner in = obj.new Inner();
		in.printMessage();
	}
}

Chạy chương trình Java trên sẽ cho kết quả sau:

Gia tri cua bien exam la: 30

Tiến trình làm việc nội bộ của Member Inner Class trong Java

Khi xuất hiện Inner Class, Java Compiler tạo hai class file, trong đó tên class file của Inner Class sẽ ở dạng Outer$Inner. Nếu bạn muốn khởi tạo Inner Class, bạn phải tạo sự thể hiện (instance) của Outer Class. Trong trường hợp này, sự thể hiện của Inner Class được tạo bên trong sự thể hiện của Outer Class.