private static int Fibonoci(int n) {
static int first=0;
static int second=1;
static int sum;
if(n>0)
我遇到了一个“非法修饰符”错误,如果我删除 static 关键字就没有错误了。但是我需要这些变量是静态的。
private static int Fibonoci(int n) {
static int first=0;
static int second=1;
static int sum;
if(n>0)
你不能在方法内将变量声明为静态的。
在方法内部,所有的变量都是局部变量,在该方法外部没有存在的意义,因此它们不能是静态的。
static int first=0;
static int second=1;
static int sum;
private static int Fibonoci(int n) {
//do somthing
}
你正在尝试编写斐波那契数列代码,但你不需要静态变量来实现,以下是一些链接,介绍了如何解决这个问题。
http://crunchify.com/write-java-program-to-print-fibonacci-series-upto-n-number/
局部变量
不能被声明为静态的。换句话说,静态
不适用于局部变量
。
我没有看到在那里 声明
它们为 静态
有任何用处。
请参阅关于静态字段的JLs。
静态字段,有时称为类变量,在类初始化(§12.4)时被实例化。
这些变量被称为局部变量,它们位于方法作用域或构造函数中,不能是实例或类变量。
private static int COUNT;// Class Variable
private static int Fibonoci(int n) {
int a =3 ; // local variable
}
我需要那些变量是静态的,好的,为什么你需要这个?因为静态变量用于特殊目的,不过,你可以像上面的代码一样创建静态字段。
static int first=0;
static int second=1;
static int sum;
private static int Fibonoci(int n) {
if(n>0)
在方法内部无法将变量声明为静态。换句话说,我们可以说, 局部变量不能被声明为静态。