在 Java 中不保存对象实例是否被认为是不好的做法,或者完全不被认为是不好的做法



ex.

new SportsCar().drive();

与。

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

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

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

不过,可能还有其他原因它很有用。例如,您可能希望以不同于 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
}

相关内容

最新更新