方法里面的方法

时间:2013-02-23 20:27:06

标签: java methods

在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);
            }
        }
    }
}

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>