在lambda中,局部变量需要是final,但实例变量不需要.为什么这样?
这是我的代码.
public class SubFunction {
private String drawTribleX(){
return trible("X");
}
private String trible(String t){
return t + t + t;
}
public static void main(String[] args){
SubFunction o = new SubFunction();
System.out.println(o.drawTribleX());
}
}
Run Code Online (Sandbox Code Playgroud)
我可以这样做吗?
public class SubFunction {
private String drawTribleX(){
// *** move trible(t) inside drawTribleX() ***
private String trible(String t){
return t + t + t;
}
return trible("X");
}
public static void main(String[] args){
SubFunction o = new SubFunction();
System.out.println(o.drawTribleX());
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
是否可以在Java中定义函数内的函数?我想做的事情如下:
public static boolean fun1()
{
static void fun2()
{
body of function.
fun2();
}
return returnValue;
}
Run Code Online (Sandbox Code Playgroud)
但我收到了错误Illegal start of expression.
例如,这是合法的:
class NAME {
method {
method {}
}
}
Run Code Online (Sandbox Code Playgroud)
效果会是什么?是否涉及任何特定的语法?
在Java中的main方法中有一个方法在语法上是否正确?例如
class Blastoff {
public static void main(String[] args) {
//countdown method inside main
public static void countdown(int n) {
if (n == 0) {
System.out.println("Blastoff!");
} else {
System.out.println(n);
countdown(n - 1);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)