用Java保存对象实例是否被认为是不好的做法?

时间:2019-07-15 19:43:57

标签: java

例如。

new SportsCar().drive();

vs。

SportsCar sc = new SportsCar();
sc.drive();

假设您目前没有理由再次需要使用SportCar实例?

1 个答案:

答案 0 :(得分:1)

在您的示例中,临时保存引用与不保存引用之间没有区别。编译器很可能内联两行版本,看起来像单行版本。

虽然还有其他原因,但它很有用。例如,您可能想以不同于drive()方法的方式处理构造函数的异常:

SportsCar sc;
try {
    sc = new SportsCar();
    try {
        sc.drive();
    } catch (Exception e) {
        // handle exceptions thrown by drive()
    }
} catch (Exception e) {
    // handle exceptions thrown during object construction
}