Java中C#"静态变量"的等价物

-1 c# java static

在C#中,我可以在类中声明一个静态var.例如:计算类"foo"的创建实例.像这样

class foo
{
    static int countFoo =0;

    public foo()
    {
        countFoo++;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在 - 对于每个创建的foo,我可以使用一种getFooCount方法来了解创建了多少个实例.你是如何用Java做到的?我试图做同样的事情,它不起作用.请解释原因和方法.谢谢!

Jon*_*eet 5

不,你可以完全相同,它工作.示例代码:

class Foo
{
    private static int count;

    Foo()
    {
        count++;
    }

    static void printCount()
    {
        System.out.println(count);
    }
}

public class Test
{
    public static void main(String[] args)
    {
        Foo.printCount(); // 0
        Foo foo1 = new Foo();
        Foo foo2 = new Foo();
        Foo.printCount(); // 2        
    }
}
Run Code Online (Sandbox Code Playgroud)

(如果你展示了你尝试过的东西会有所帮助......)