日期:2014-05-20  浏览次数:20690 次

关于方法中的static作用
方法一:
public class Test{
  public static void main(String[] args) {
  System.out.print(f(5));
  }

  public static int f(int n) {
  if (n==0) {
  return 1;
  }
  return n*f(n-1);
  }
}

方法2
public class Test {
public static void main(String[] args) {
Test f = new Test();
System.out.print(f.f(5));
}

public int f(int n) {
if (n==0) {
return 1;
}
return n*f(n-1);
}


}

这两种写法本质上有什么区别?
第一种用static方法 在主方法内不用实例化该类直接调用 是什么原因?
第二种方法没有static 在主方法中必须先实例化该类 通过对象才能调用该方法 有static和没有static 的方法有什么不同?
新手求解~~~
顺便问下 这个程序用的是递归法
什么是递归方法?如何使用?

------解决方案--------------------
static修饰的域或方法是属于类而非这个类的实例

多看书哈
------解决方案--------------------
探讨
static修饰的域或方法是属于类而非这个类的实例

多看书哈

------解决方案--------------------
建议你去找个初级入门的视频好好看看,推荐java私塾的视频,讲得老好了,网上有在线的,你直接找到static部分去听就可以