Local Inner Class trong Java




Local Inner Class là gì?

Trong Java, một lớp được tạo bên trong một phương thức thì được gọi là Local Inner Class. Nếu bạn muốn triệu hồi các phương thức của Local Inner Class, bạn phải khởi tạo lớp này bên trong phương thức.

public class LocalInnerExample {
	private int example = 30;// khoi tao bien

	void display() {
		// day la local inner class
		class Local {
			void printMessage() {
				System.out.println("Gia tri cua bien example la: " +example);
			}
		}
		// ket thuc local inner class
		// truy cap local inner class
		Local l = new Local();
		l.printMessage();
	}

	public static void main(String args[]) {
		LocalInnerExample obj = new LocalInnerExample();
		obj.display();
	}
}

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

Gia tri cua bien example la: 30

Một số qui tắc khi sử dụng Local Inner Class trong Java

  • Các biến cục bộ không thể là private, public, hoặc protected.

  • Local Inner Class không thể được triệu hồi ở bên ngoài phương thức.

  • Từ JDK 1.7 trở về trước, trong Local Inner Class, nếu bạn muốn truy cập biến cục bộ của phương thức, thì biến đó phải thuộc kiểu final. Còn bắt đầu từ JDK 1.8 trở đi, giới hạn này đã bị loại bỏ.

Ví dụ dưới đây minh họa cách sử dụng của Local Inner Class và biến cục bộ trong Java

class LocalInnerExample {
	private int example = 30;// khoi tao bien

	void display() {
		final int value = 50;// neu bien khong phai thuoc dang final thi:
		class Local {
			void printMessage() {
				System.out.println("Gia tri cua bien value la: " +value); // se cho Compiler Error tai dong nay
			}
		}
		Local l = new Local();
		l.printMessage();
	}

	public static void main(String args[]) {
		LocalInnerExample obj = new LocalInnerExample();
		obj.display();
	}
}

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

Gia tri cua bien value la: 50

Mọi người cho thể tham gia khóa học thứ 3 của vietjackteam vào đầu tháng 07/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.