Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中在哪里初始化静态字段?_Java_Static_Field - Fatal编程技术网

java中在哪里初始化静态字段?

java中在哪里初始化静态字段?,java,static,field,Java,Static,Field,我有几个类,其中一个需要计算对象被创建的次数(称为lastId的int字段)。 在C++中,我们必须初始化主类中的静态字段值,然后我们能够正确地使用其他类中的静态字段,并计算已经创建了多少个对象。 java呢?我必须在哪里初始化静态字段值。 此外,我知道如何计算对象是否已创建,但对象是否已删除呢?java中没有析构函数,因此如何完成此工作?您可以在声明或静态初始值设定项中进行初始化: public class test { //this is fine: public stati

我有几个类,其中一个需要计算对象被创建的次数(称为lastId的int字段)。 在C++中,我们必须初始化主类中的静态字段值,然后我们能够正确地使用其他类中的静态字段,并计算已经创建了多少个对象。 java呢?我必须在哪里初始化静态字段值。
此外,我知道如何计算对象是否已创建,但对象是否已删除呢?java中没有析构函数,因此如何完成此工作?

您可以在声明或静态初始值设定项中进行初始化:

public class test
{
    //this is fine:
    public static int i = 1;

    //or this:
    public static int i;
    static
    {
        i = 1;
    }
}

您可以在声明或静态初始值设定项中进行初始化:

public class test
{
    //this is fine:
    public static int i = 1;

    //or this:
    public static int i;
    static
    {
        i = 1;
    }
}

您可以在声明或静态初始值设定项中进行初始化:

public class test
{
    //this is fine:
    public static int i = 1;

    //or this:
    public static int i;
    static
    {
        i = 1;
    }
}

您可以在声明或静态初始值设定项中进行初始化:

public class test
{
    //this is fine:
    public static int i = 1;

    //or this:
    public static int i;
    static
    {
        i = 1;
    }
}

如果您只想计算类型调用的活动对象数

jps -lvm  # to find the pid of your process
jmap -histo {pid} # count all objects in the system

这将按类计算实例数

如果您不想可视化应用程序正在做什么,请尝试

jvisualvm
这将提供诸如内存使用、线程等统计数据,以及CPU消耗和创建对象的细分


java呢

您只需使用以下内容初始化它们

static int counter = 0;
我必须在哪里初始化静态字段值

与初始化任何其他字段的位置相同

顺便说一句,如果你这样做了

static int counter;
默认情况下,它将是0,因此我怀疑您不需要初始化它

如果对象已被删除,该怎么办

这很容易,因为你不能删除对象。所以答案总是0

java中没有析构函数,那么如何完成这项工作呢


Java没有这样的功能,所以这个问题是没有意义的。

如果您只想计算一个类型调用的活动对象的数量

jps -lvm  # to find the pid of your process
jmap -histo {pid} # count all objects in the system

这将按类计算实例数

如果您不想可视化应用程序正在做什么,请尝试

jvisualvm
这将提供诸如内存使用、线程等统计数据,以及CPU消耗和创建对象的细分


java呢

您只需使用以下内容初始化它们

static int counter = 0;
我必须在哪里初始化静态字段值

与初始化任何其他字段的位置相同

顺便说一句,如果你这样做了

static int counter;
默认情况下,它将是0,因此我怀疑您不需要初始化它

如果对象已被删除,该怎么办

这很容易,因为你不能删除对象。所以答案总是0

java中没有析构函数,那么如何完成这项工作呢


Java没有这样的功能,所以这个问题是没有意义的。

如果您只想计算一个类型调用的活动对象的数量

jps -lvm  # to find the pid of your process
jmap -histo {pid} # count all objects in the system

这将按类计算实例数

如果您不想可视化应用程序正在做什么,请尝试

jvisualvm
这将提供诸如内存使用、线程等统计数据,以及CPU消耗和创建对象的细分


java呢

您只需使用以下内容初始化它们

static int counter = 0;
我必须在哪里初始化静态字段值

与初始化任何其他字段的位置相同

顺便说一句,如果你这样做了

static int counter;
默认情况下,它将是0,因此我怀疑您不需要初始化它

如果对象已被删除,该怎么办

这很容易,因为你不能删除对象。所以答案总是0

java中没有析构函数,那么如何完成这项工作呢


Java没有这样的功能,所以这个问题是没有意义的。

如果您只想计算一个类型调用的活动对象的数量

jps -lvm  # to find the pid of your process
jmap -histo {pid} # count all objects in the system

这将按类计算实例数

如果您不想可视化应用程序正在做什么,请尝试

jvisualvm
这将提供诸如内存使用、线程等统计数据,以及CPU消耗和创建对象的细分


java呢

您只需使用以下内容初始化它们

static int counter = 0;
我必须在哪里初始化静态字段值

与初始化任何其他字段的位置相同

顺便说一句,如果你这样做了

static int counter;
默认情况下,它将是0,因此我怀疑您不需要初始化它

如果对象已被删除,该怎么办

这很容易,因为你不能删除对象。所以答案总是0

java中没有析构函数,那么如何完成这项工作呢


Java没有这样的东西,所以这个问题是没有意义的。

如何初始化静态字段? 1.声明时初始化字段。 2.在静态块中初始化。 3.初始化为null并从其他位置设置。这并不是真正初始化为一个值,只是稍后设置一个有意义的值

有关示例,请参阅Dave Doknjas答案

如何计数对象?见彼得·劳里的答案

析构函数呢? 由于对象集合是为您处理的,所以当对象没有引用时,实际上不需要析构函数。您不应该试图自己用Java来管理集合—它为您做了一件出色的工作。如果在收集对象时确实需要执行某些操作,则应查看finalize方法,该方法在收集对象时运行


有关finalize的更多信息,请参阅。

如何初始化静态字段? 1.声明时初始化字段。 2.在静态块中初始化。 3.初始化为null并从其他位置设置。这并不是真正初始化为一个值,只是稍后设置一个有意义的值

有关示例,请参阅Dave Doknjas答案

如何计数对象?见彼得·劳里的答案

自毁呢