示例:
//Type1:
function PointF someMethod(){
return new PointF(10f, 10f);
}
//Type2:
private PointF funPointF = new PointF();
function PointF(){
return funPointF.set(10f,10f);
}
现在我的问题是,为了便于阅读和实际编码,第一个例子更加友好;编译器如何处理第一个结果?它是否会在运行时自动创建第二个,还是每次调用此方法时实际上只是创建一个新对象?
**编辑 是的它是JAVA。
答案 0 :(得分:1)
是的,Java编译器在您实例化后自动创建新对象
即。使用关键字new
创建新对象的引用。
function PointF someMethod(){
return new PointF(10f, 10f);
}
在上面的方法中,编译器在Heap中为PointF
创建了一个新对象,因为您已经编写了new PointF(10f, 10f)
并返回了相同对象的值。