2 azy759 Azy759 于 2016.05.10 12:35 提问

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只能用终态,用终态不就不能改变了,这样不行。

3个回答

Grindstone_Fos
Grindstone_Fos   2016.05.10 12:55
已采纳

在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)静态方法可以被重写,但没有多态。

bdmh
bdmh   Ds   Rxr 2016.05.10 13:15

在类级别,,加一个static变量就行了

chuyangxiang
chuyangxiang   2016.05.10 16:26

方法中的变量都是局部变量

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!