gpt4 book ai didi

java在哪里为成员数据分配内存?在类本身或构造函数中?

转载 作者:太空宇宙 更新时间:2023-11-04 13:03:58 24 4
gpt4 key购买 nike

这可能是 Java 中最基本的问题。我想告诉你,我基本上是c出身。请耐心等待。

我有一个类,想要有 Hasbtable 类型的 mHTable。

问题:

在哪里为 mHTable 分配内存?在类定义或构造函数中?两者似乎都在起作用。

案例1:

public class SampleClass
{
Hashtable<Integer, Integer> mHTble = new Hashtable<Integer, Integer>();

}

或者

 public class SampleClass
{
public SampleClass()
{
mHTble = new Hashtable<Integer, Integer>();
}
}

我正在 Android 中尝试此操作。

最佳答案

一般来说没有什么关系。使用您觉得舒服的版本。如果您有很多构造函数,您可能更喜欢直接字段初始化。

作为指导,如果您不想更改引用(即 mHTble 变量,而不是哈希表条目本身),请将其设为最终值;那么你就不会忘记初始化它(编译器会告诉你这一点)并且你可以将自己从 NullPointerExceptions

中拯救出来
public class SampleClass
{
private final Hashtable<Integer, Integer> mHTble;

public SampleClass()
{
mHTble = new Hashtable<>();
}
}

关于java在哪里为成员数据分配内存?在类本身或构造函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34672094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com