[Java] 有没有必要将每个类的实例属性手动初始化呢?

问题描述:

比如:
[code="java"]
class Test {

private JButtol button;
private JPanel jpanel;

public Test() {}

}
[/code]

1、button和jpanel有没有必要手动初始化呢?

[code="java"]
private JButton button = null;
private JPanel jpanel = null;
[/code]

而如果初始化为:
[code="java"]
private JButton button = new JButton();
private JPanel jpanel = new JPanel();
[/code]

2、这样会不会在真正使用button和jpanel之前造成资源浪费了?

谢谢

如果你需要它们为null,就设为null,虽然没初始化的会自动null,但是从逻辑上说手动设一下更好。

如果你不需要它们指向具体的对象,当然不要new,这样肯定浪费。

最好的习惯是:在构造函数里会进行初始化的field则不要在声明时给值,不在构造函数里初始化的则在声明里给出一个初值(一般是null,0之类的)。

1, 没必要 根据JDK specification, 没初始化的类属性会自动置null

2, 会浪费的, 还是按需创建对象的好.