Mục lục:
Video: Clip nâng cao sửa lỗi văng ứng dụng và lỗi chế độ nhà phát triển trên android | Mẹo hay 2025
Đây là tin tức lớn! Bạn có thể định nghĩa một lớp trong lớp khác! Điều này rất tiện dụng cho các nhà phát triển ứng dụng Android. Hầu hết các lớp học không sống trong một lớp khác, và hầu hết các lớp học không chứa các lớp khác. Nhưng khi ý tưởng đằng sau một lớp hét lên là một phần của lớp khác, hãy tự tạo ra một lớp học trong lớp học.
Các lớp nội bộ được đặt tên
Trong mã này, lớp MyActivity chứa lớp MyListener riêng của nó.
package com. allmycode. mẫu; nhập khẩu android ứng dụng. Hoạt động; nhập khẩu android os. Bó; nhập khẩu android lượt xem. Lượt xem; nhập khẩu android lượt xem. Lượt xem. OnClickListener; nhập khẩu android widget. Nút; lớp học công khai MyActivity mở rộng hoạt động {Nút nút; @ Xoá bỏ công khai void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (bố cục R. main); nút = ((nút) findViewById (R id id. button1)); nút. setOnClickListener (new MyListener () );} class MyListener thực hiện OnClickListener {@Chuyển công void onClick (Xem arg0) {button. setBackgroundColor (Android.COLOR.GRAY);}}}
Lớp MyListener là một lớp bên trong . Một lớp bên trong giống như bất kỳ lớp khác. Nhưng trong mã lớp bên trong, bạn có thể tham khảo các trường của lớp bao trùm. Ví dụ, phương thức onClick bên trong MyListener sử dụng nút tên, và nút được định nghĩa trong lớp MyActivity kèm theo.
Các lớp bên trong vô danh
Chú ý rằng đoạn code trên chỉ sử dụng lớp MyListener một lần. (Chỉ sử dụng trong một cuộc gọi đến nút setOnClickListener) Vì vậy, bạn có thực sự cần một cái tên cho cái gì đó chỉ được sử dụng một lần? Không, bạn không. Bạn có thể thay thế toàn bộ định nghĩa của lớp bên trong cuộc gọi đến nút. setOnClickListener. Khi bạn thực hiện việc này, bạn có lớp bên trong vô danh. Đoạn mã sau cho bạn thấy nó hoạt động như thế nào.
package com. allmycode. mẫu; nhập khẩu android ứng dụng. Hoạt động; nhập khẩu android os. Bó; nhập khẩu android lượt xem. Lượt xem; nhập khẩu android lượt xem. Lượt xem. OnClickListener; nhập khẩu android widget. Nút; lớp học công khai MyActivity mở rộng hoạt động {Nút nút; @ Xoá bỏ công khai void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (bố cục R. main); nút = ((nút) findViewById (R id id. button1)); nút. setOnClickListener (new OnClickListener () { @Chuyển công void onClick (Xem arg0) {nút setBackgroundColor (đồ họa bằng đồ hoạ) màu sắc;}} > Các lớp bên trong tốt cho những thứ như trình xử lý sự kiện, chẳng hạn như phương pháp onClick.Điều khó khăn nhất về một lớp bên trong ẩn danh là theo dõi các dấu ngoặc đơn, dấu ngoặc nhọn, và các thụt đầu dòng. Vì vậy, đây là một số lời khuyên: Bắt đầu bằng cách viết mã mà không có bất kỳ lớp học bên trong. Sau đó, khi bạn trở nên chán với các lớp Java thông thường, thử nghiệm bằng cách thay đổi một số lớp học thông thường của bạn thành các lớp bên trong.
