Bài 224: Anonymous inner class trong java

Ngày đăng: 1/6/2023 12:00:10 PM

Định nghĩa

Một lớp mà không có tên được gọi là lớp vô danh trong java hay anonymous inner class trong java. Nó nên được sử dụng nếu bạn phải ghi đè phương thức của lớp hoặc interface. Anonymous inner class có thể được tạo ra bằng hai cách:

  1. Class (có thể là abstract hoặc cụ thể).
  2. Interface

Ví dụ về anonymous inner class trong java với Class

Vi dụ về lớp vô danh (anonymous) trong java voi Class

Output:

 Rau xanh
 

Hoạt động nội bộ của đoạn code trên

1

2

3

4

5       

Person p = new Person() {

    void eat() {

        System.out.println("Rau xanh");

    }

};

  1. Một lớp được tạo ra nhưng tên của nó được quyết định bởi trình biên dịch mà extends lớp Person và cung cấp việc cài đặt phương thức eat().
  2. Một đối tượng của lớp Anonymous được tạo ra mà được gọi bằng biến tham chiếu p của kiểu Person.

Lớp nội bộ được tạo ra bởi trình biên dịch

1

2

3

4

5

6

7

8

9

10     

import java.io.PrintStream;

 

static class TestAnonymousInner$1 extends Person {

    TestAnonymousInner$1() {

    }

 

    void eat() {

        System.out.println("Rau xanh");

    }

}


Ví dụ về anonymous inner class trong java với Interface

Vi dụ về lớp vô danh (anonymous) trong java voi Interface

Output:

 Rau xanh
 

Hoạt động nội bộ của đoạn code trên

1

2

3

4

5      

Eatable e = new Eatable() {

    public void eat() {

        System.out.println("Rau xanh");

    }

};

  1. Một lớp được tạo ra nhưng tên của nó được quyết định bởi trình biên dịch mà extends interface Eatable và cung cấp việc cài đặt phương thức eat().
  2. Một đối tượng của lớp Anonymous được tạo ra mà được gọi bằng biến tham chiếu e của kiểu Eatable.

Lớp nội bộ được tạo ra bởi trình biên dịch

1

2

3

4

5

6

7

8

9

10    

import java.io.PrintStream;

 

static class TestAnonymousInner1$1 implements Eatable {

    TestAnonymousInner1$1() {

    }

 

    void eat() {

        System.out.println("Rau xanh");

    }

}

Nguồn tin: viettuts.vn