1

正如问题的标题所说,我想知道哪种方法是正确的。为了澄清我的问题,我想举一个例子。

假设在我的程序的主要方法中,我对方法/方法进行了一系列调用,这些方法/方法都使用了一个类的实例。所以-

  1. 我是否应该在每次调用时在方法体中创建此类的实例。
  2. 或者我应该在主方法中创建一次类的实例,然后将此实例作为参数传递给从主方法调用的所有方法。

混淆是因为我从未见过任何使用第二种方法的示例,我认为在第一种方法中处理时间会更多,因为每次调用使用此类的方法时都会创建类的实例。

4

1 回答 1

1

这取决于上下文:

  • 有时您需要在方法之间共享同一个对象,因为创建实例的计算成本很高,或者拥有多个同一个对象的实例是完全错误的(想想字段、文件缓冲区、数据库连接等)。

  • 有时您需要一次又一次地创建对象,即使计算成本很高,因为这是解决问题的正确方法(散列、OCR、搜索、解压缩等)。

  • 大多数时候,创建另一个实例的成本可以忽略不计,并且您将模块化和良好的代码放在首位。

于 2012-12-31T14:55:10.493 回答