在C#中,我可以在类中声明一个静态var。例如:计算类“foo”的创建实例。像这样
class foo
{
static int countFoo =0;
public foo()
{
countFoo++;
}
}
现在 - 对于创建的每个foo,我可以使用getFooCount
方法来了解创建了多少个实例。
你是如何用Java做到的?
我试图做同样的事情,它不起作用。
请解释原因和方法。谢谢!
答案 0 :(得分: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
}
}
(如果你展示了你尝试过的东西会有所帮助......)
答案 1 :(得分:1)
以下适用于Java(虽然它不是线程安全的)
class Foo {
static int countFoo =0;
public Foo() {
countFoo++;
}
}
你到底遇到了什么问题?