Java编程语言是否存在可以创建嵌套函数的扩展程序?
在许多情况下,我需要创建仅在另一个方法或for循环的上下文中使用一次的方法。尽管JavaScript可以轻松实现此操作,但我到目前为止未能在Java中完成。
例如,在标准Java中无法完成以下操作:
for(int i = 1; i < 100; i++){
times(2); // Multiply i by 2 and print i
times(i); // Square i and then print the result
public void times(int num){
i *= num;
System.out.println(i);
}
}
times
访问并修改了 i。输出结果是 2、4、10 和 100。在Java中,您只能访问final变量,这意味着您不能修改它们。 - Florian F() ->
语法适用于任何“单一抽象方法(SAM)”接口,比如Comparator
定义了抽象的compare()
方法,但为其他方法提供了默认实现,例如reverse()
。 - Alonso del Arte