Java中函数内的函数

是否可以在Java中定义函数内的函数? 我想做的事情如下:

public static boolean fun1() { static void fun2() { body of function. fun2(); } return returnValue; } 

但我收到错误Illegal start of expression

你不能(在Java中它们被称为方法)。

但是,您可以在方法内部定义匿名类,并调用其方法。

你不能这样做的原因是函数必须是附加到类的方法。 与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; }