Azy759
Azy759
2016-05-10 04:35
采纳率: 75%
浏览 4.2k
已采纳

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 04: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 2016-05-10 05:15

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

    点赞 评论
  • chuyangxiang
    chuyangxiang 2016-05-10 08:26

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

    点赞 评论

相关推荐