java中的C静态变量行为

时间:2014-02-23 16:43:17

标签: java c static

void func()
{
    static int a=10;
    println("\na is ::%d",a);
     a++;
}
int main(){
    int i=1;
    while(i<6){
        func();
    }
}

这会将输出设为

10
11 
12
13
14

所以这是c中静态变量的默认行为。我想知道java中是否有任何内置技术用于相同的行为?

2 个答案:

答案 0 :(得分:1)

你可以这样做......

class A
{
   static int a=0;
   static void func()
   {
        System.out.print("\na is ::%d",a);
        a++;
   }
   public static void main(String args[])
   {
        int i=1;
        while(i<6){
           func();
           i++;
        }
    }
}

答案 1 :(得分:0)

如果你有一个类构造,在实例化时,增加一个静态变量,那么是,行为将是相同的。

这是一个片段。

public class StaticExample {
    private static int val = 0;

    public StaticExample() {
        val++;
    }

    public static int getVal() {
        return val;
    }
}

使用以下迭代代码:

for(int i = 0; i < 10; i++) {
    new StaticExample();
    System.out.println(StaticExample.getVal());
}

...我得到了这个结果:

1
2
3
4
5
6
7
8
9
10