黑马程序员技术交流社区
标题:
关于递归修饰符的问题
[打印本页]
作者:
xiaodong
时间:
2015-6-8 23:26
标题:
关于递归修饰符的问题
看了刘意老师的递归视频,看到里面的代码中递归方法的修饰符都是static,递归是一定要用static修饰吗?谢谢大神的解答!
/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少? */
代码如下:
public class DiGuiDemo3 {
public static void main(String[] args) {
System.out.println(fun(20));
}
public static int fun(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fun(n - 1) + fun(n - 2);
}
}
}
作者:
找寻小龙猫
时间:
2015-6-8 23:47
用 static 修饰 是因为,main 方法是 static 的所以 它调用的方法也必须 是 static的
作者:
307323665
时间:
2015-6-8 23:53
1、被static修饰的方法或者变量,在类加载的时候,就被加载,生命周期和类一样;
作者:
307323665
时间:
2015-6-9 00:00
1、被static修饰的方法或者变量,在类加载的时候,就被加载,生命周期和类一样;
2、被static修饰的变量为共享变量
3、被static修饰的方法,可以直接通过类名.方法名()进行调用;
在此例子中:如果要调用fun()。有两种形式,A:fun();B:DiGuiDemo3.fun();
4、如果不定义成static的方法,那么要想调用fun();则需要建立对象,通过对象.fun()来调用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2