如果可以使用静态方法保存内存,为什么不将所有方法都声明为静态方法(而不是使用实例方法)?

时间:2018-12-03 15:34:10

标签: java

在Java中,静态方法用于节省内存,因为不需要创建对象来调用静态方法。当我们必须调用实例方法时,我们需要创建一个对象。因此,无论何时创建对象,它都会占用内存。我们知道,在任何项目中,最大方法都是非静态的。

那为什么为了节省项目中的内存,为什么不将所有方法都声明为静态方法,而不是将实例方法作为标准方法?

1 个答案:

答案 0 :(得分:2)

某些方法(可能是大多数方法)需要信息才能完成其工作。您必须将该信息存储在某处

如果所有方法都是静态的,那么这并不能使对这些信息的需求消失。并且,如果您需要信息,则需要存储它,因此您可以将其传递给静态方法,以便该方法可以完成其工作。因此,仅使用静态方法就无法节省内存:您将在某处中存储该信息。

以Java的面向对象程序设计风格(以及许多但不是所有其他方式),您将这些信息与一起存储()(在概念上),即对它进行操作的功能(实例方法):对象。 / p>

对于不需要的信息,或者合理地应该通过参数接收其操作的所有信息的方法,我们使用静态方法。