这里有一个类似的答案: How to pass a function as a parameter in Java?
但提供的正确答案不起作用。我有一堂课:
public class randomClass {
2
3 public String name;
4 private int x;
5 private boolean y;
6
7 public randomClass(String name){
8 this.name = name;
9 setAttributes(1,true, "test");
10 System.out.println(x + "," + y);
11 }
...
21
22 public int xMethod(){
23 return 1;
24 }
25
26 public void passMethod(){
27 testMethod(new Callable<Integer>() {
28 public Integer call(){
29 return xMethod();
30 }
31 });
32 }
33
34 public void testMethod(Callable<Integer> myFunc){
35
36 }
passMethod
我试图传入xMethod
的内部函数testMethod
,但我得到的错误是:
找不到符号
符号:可调用类
我不知道为什么。
另外,我尝试对 xMethod 使用返回类型 String,你能传递一个返回类型不同的函数然后 Integer 吗?