Java 中的孤立对象是好是坏



我想了解Java编程中的对象创建最佳实践。我在下面举了一个例子请检查并建议我Java 中的孤立对象是好是坏?

我有一个Shape界面。

  1. Circle implements Shape
  2. Square implements Shape
  3. Cube implements Shape
  4. Sphere implements Shape
方法 #

1 会导致孤立对象,方法 #2 会导致不必要的引用。哪种方法是最佳实践?

方法#1

    Shape shape;
    shape = new Circle();  // CREATES CIRCLE OBJECT
    shape.draw();
    shape = new Cube();    // CREATES CUBE OBJECT
    shape.draw();
    shape = new Sphere();  // CREATES SPHERE OBJECT
    shape.draw();
    shape = new Square();  // CREATES SQUARE OBJECT
    shape.draw();

方法#2

    Circle circle = new Circle();
    circle.draw();
    Cube cube = new Cube();
    cube.draw();
    Sphere sphere = new Sphere();
    sphere.draw();
    Square square = new Square();
    square.draw();

在 Java 中,您可以创建对象来完成某些任务,当您完成这些对象时,您可以删除对它们的引用,以便对它们进行垃圾回收。对这些对象的引用数很少是性能问题;通常问题来自:

  1. 创建太多对象,而您可以重用它们
  2. 您在清理引用(内存泄漏)时遇到错误。

最关心的应该是您多久打电话给new一次。

当你在调用对象的方法draw后不需要这些对象时,可以忘记对它们的引用。它们将有资格进行垃圾回收,并且当垃圾回收器完成它的工作时,它们占用的内存将被恢复。

因此,如果您关心内存管理,那么"孤立"对象是标准的 Java 实践。

如果只是创建一次性使用的对象,则这两种方法都不行。甚至不要为单个调用分配引用,只需直接进行调用:

new Circle().draw();
new Cube().draw();
new Sphere().draw();
...

其他一切都令人困惑,持有您实际上不需要任何东西的参考会阻碍可读性。

相关内容

  • 没有找到相关文章

最新更新