tôi đi qua một giao diện như thực hiện nặc danh đến một đối tượng khác nhau như thế này:Đi qua lớp nặc danh
public interface Interface {
public int convert (int a);
}
public static void main(String[] args) throws IOException, InterruptedException {
final int[] array = {1,6,3,5,7,8,4,0,3};
Interface inter = new Interface() {
public int convert(int a) {
int result = a;
for (int i = 0; i < array.length; i++) {
a=a+array[i];
}
return a;
}
};
SomeObject ty = new SomeObject();
ty.Test(7, inter);
}
public class SomeObject {
public void Test(int number, Interface inter) {
System.out.println(inter.convert(number));
}
}
Câu hỏi của tôi là: làm thế nào để cho nó hoạt động? Làm thế nào để SomeObject
biết về mảng không được truyền trực tiếp đến đối tượng (mảng không phải là thành viên của lớp ẩn danh).
Cập nhật
(xin lỗi vì trễ cập nhật)
gì về thành viên vars hoặc các phương pháp phương pháp được sử dụng trong lớp nặc danh? chúng không phải là cuối cùng
Interface inter = new Interface() {
public int convert(int a) {
int result = a + someMemberVar;
for (int i = 0; i < array.length; i++) {
a=a+array[i];
}
return a;
}
};
Mục đích của dòng 'int result = a;' là gì? –