是否可以在Java中定义函数内的函数?我想做的事情如下:
public static boolean fun1()
{
static void fun2()
{
body of function.
fun2();
}
return returnValue;
}
Run Code Online (Sandbox Code Playgroud)
但我收到了错误Illegal start of expression.
Mik*_*sen 40
你不能这样做的原因是函数必须是附加到类的方法.与JavaScript和类似语言不同,函数不是数据类型.有一种方法可以将它们组合成一个支持Java中的闭包(希望在Java 8中),但是从Java 6和7开始,它不受支持.如果你想做类似的事情,你可以这样做:
interface MyFun {
void fun2();
}
public static boolean fun1()
{
MyFun fun2 = new MyFun() {
public void fun2() {
//....
}
};
fun2.fun2();
return returnValue;
}
Run Code Online (Sandbox Code Playgroud)
MBy*_*ByD 37
你不能(在Java中它们被称为方法).
但是,您可以在方法内部定义匿名类,并调用其方法.
| 归档时间: |
|
| 查看次数: |
46159 次 |
| 最近记录: |