java 能不能在类或方法中定意一个全局变量,每次访问,都指向这个变量。如C语言一样
问题描述:
在C中,加上static就可以了。
我想防止函数重入,在C中
fun(){
static int flag=0;
if(flag)return;
flag=1;
...
flag=0;
}
这样就好,在java中想完成类似的功能,可以怎么做呢。
我使用了static好像报错了。
如
public static void fun(){
static boolean flag;
}
大概说flag只能用终态,用终态不就不能改变了,这样不行。
答
在java中static静态修饰符不能在方法中定义
public class Test {
private static boolean flag=false;
public static void main(String[] args) {
System.out.println(flag);
flag=!flag;//置反
}
}
1.static 修饰符
1)修饰内部类class Outer{static class Inner{}}
2)修饰属性(类的内部,方法外部)
a)此变量为类变量,类变量在加载时初始化,且初始化1次。
b)类变量可以通过类名访问,被所有对象所共享
c)假如一个类中有多个类变量,初始化顺序从上到下
3)修饰代码块(类内部,方法外部)
a)称之为静态代码块
b)类加载时执行,执行一次
c)可以对类变量赋值,或调用静态方法。
4)修饰方法
a)称之为静态方法,可以通过类名直接访问。
b)静态方法内部只能访问静态成员(类变量,静态方法)
c)静态方法可以被重写,但没有多态。
答
在类级别,,加一个static变量就行了
答
方法中的变量都是局部变量