关于java创建对象的问题。

关于java创建对象的问题。

问题描述:

有B a(){};
1、B b = new B();
b=a();
2、B b = a();
这两种有什么区别?哪一个更好呢?希望能详细解释一下,谢谢。

好比
int a() { return 1; }

int x = 0;
x = a();
其实显然让x=0是多此一举,直接int x = a();就可以了。

你的代码更糟,因为new一个对象的开销更大。

第二种更好。因为new B();就你的代码来说根本没用到。

很显然第二个好。
第一种情况(修改一下):
B b; // 无用的初始化= new B()
b=a();
第二种情况:
B b = a(); // 创建对象的时候直接初始化

第二种好,二是对一的代码优化