例:

//Type1:
function PointF someMethod(){
    return new PointF(10f, 10f);
}

//Type2:
private PointF funPointF = new PointF();
function PointF(){
    return funPointF.set(10f,10f);
}


现在我的问题是,对于可读性和实际编码而言,第一个示例是否更友好?编译器如何处理第一个结果?它会自动创建第二个供运行时使用,还是实际上每次调用此方法时都会创建一个新对象?

**编辑
是的,它是JAVA。

最佳答案

是的,实例化后,Java编译器会自动创建新对象

即使用关键字new创建新对象的引用。

function PointF someMethod(){
    return new PointF(10f, 10f);
}


在上述方法中,编译器在堆中为PointF创建了一个新对象,就像您编写new PointF(10f, 10f)并返回相同对象的值一样。

10-07 22:24