2010-01-11 60 views
1

我需要再次运行我的/对象方法。这是否允许?我怎样才能做到这一点?如何多次执行Java方法?

+0

你的意思重新启动的方法是什么?在中,再次调用该方法? – 2010-01-11 16:28:50

+5

要理解递归,您必须先了解递归。 – 2010-01-11 16:33:01

+0

如果你正在寻找递归,如下所述,确保你有一个方法来解决它,因为递归是一个可怕的方式来导致一个严重的崩溃。 – Paddy 2010-01-11 16:33:41

回答

1

递归?当然java支持它

public int foo (int param) { 
    if (param == 0) 
     return 0; 
    return param + foo (--param); 
} 

public static void main (String[] args) { 
    System.out.println (foo (5)); 
} 
+1

好的是,它的名字呢? – bob 2010-01-11 16:29:03

+1

这个实现的技术名称是“无限递归”,我相信。 ;) – 2010-01-11 16:30:36

+0

也许,这只是一个例子 – Roman 2010-01-11 16:31:59

5

不知道你正在尝试做的,但你可以简单地调用从自身的方法(这就是所谓的recursion):

void recursiveMethod() { 
    System.out.println("Called the recursive method"); 
    recursiveMethod(); 
} 

调用该方法将打印“叫递归方法”行了,直到你得到一个StackOverflowError。

+2

+1 - 很好的使用StackOverflow = P – 2010-01-11 16:32:54

3

您可以从内部再次调用该方法(也称为递归)。所以,像这样:

public void myMethod() { 
    // Do some stuff here. 

    // Possible conditional statement... 
    if(restart) { 
    myMethod(); // This will "restart" the method. 
    } 
} 

如果你有一个更具体的例子,你在想什么,这可能有助于改善你的问题。

+0

我会认为do-while/for(;;)循环会更合适。 – 2010-01-11 16:33:01

0

看到,因为你要的对象的引用(你已经跑法), 简单地重复以前的说法:

myDog.bark(); // bark once 
myDog.bark(); // bark again