在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);
}
}
}
}
答案 0 :(得分:7)
不,不是直接;但是,方法可能包含本地内部类,当然内部类可以包含方法。 This StackOverflow question给出了一些例子。
但是,在您的情况下,您可能只想从countdown
内拨打main
;你实际上并不需要它的整个定义都在main
内。例如:
class Blastoff {
public static void main(String[] args) {
countdown(Integer.parseInt(args[0]));
}
private static void countdown(int n) {
if (n == 0) {
System.out.println("Blastoff!");
} else {
System.out.println(n);
countdown(n - 1);
}
}
}
(请注意,我已将countdown
声明为private
,因此只能在Blastoff
类中调用它,我假设这是您的意图?)< / p>