【发布时间】:2014-01-12 17:10:40
【问题描述】:
这可能是“重复”,但我不确定如何搜索这个问题...
我在声明行初始化一个非静态成员变量:
public class A
{
private B b = new B();
...
}
我正在这样做,而不是在默认构造函数中初始化这个变量:
public class A
{
private B b;
public A()
{
b = new B();
}
...
}
两者之间有什么区别,除了(也许)前者不是“ANSI Java”或类似的东西?
对于上述两种实现,我得到了两个不同的字节码(即两个不同的“类”文件),这让我相信可能存在运行时差异。
所以我想知道我是否有理由期望在运行时有什么不同。
谢谢
【问题讨论】:
标签: java constructor member-variables