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

时间:2016-01-08 07:58:53

标签: java android

这可能是Java中最基本的问题。我想告诉你我基本上来自c背景。请耐心等待。

我有一个类,并希望有类型为Hasbtable的mHTable。

问题:

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

案例1:

$P{DETAILPARAM}

或者

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

}

我在Android中尝试这个。

1 个答案:

答案 0 :(得分:0)

一般无所谓。使用您熟悉的版本。如果你有许多构造函数,你可能更喜欢直接字段初始化。

作为指导,如果您不想更改引用(即mHTble变量,而不是哈希表条目本身),请将其设置为final;那么你不要忘记初始化它(编译器会告诉你)并且你自己保存自NullPointerException

public class SampleClass
{
  private final Hashtable<Integer, Integer> mHTble;

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