我想知道什么时候使用静态方法?假设我有一个类,有几个getter和setter,一个或两个方法,我希望这些方法只能在类的实例对象上调用。这是否意味着我应该使用静态方法?

例子:

Obj x = new Obj();
x.someMethod();

或:

Obj.someMethod(); // Is this the static way?

我很困惑!


当前回答

你应该在任何时候使用静态方法,

方法中的代码不依赖于实例创建,而是依赖于实例创建 不使用任何实例变量。 特定的一段代码将由所有实例方法共享。 不应更改或重写方法的定义。 您正在编写不应该更改的实用程序类。

https://www.tutorialspoint.com/When-to-use-static-methods-in-Java

其他回答

静态方法不需要在对象上调用,这就是你使用它的时候。例如:你的Main()是一个静态的,你没有创建一个对象来调用它。

当您希望能够在没有类实例的情况下访问方法时,请使用静态方法。

静态方法是一种不需要初始化任何对象就可以调用的方法。你注意到静态是用在Java的main函数中吗?程序从那里开始执行,不需要创建对象。

考虑下面的例子:

 class Languages 
 {
     public static void main(String[] args) 
     {
         display();
     }

     static void display() 
     {
         System.out.println("Java is my favorite programming language.");
     }
  }

静态方法是Java中可以在不创建类对象的情况下调用的方法。它属于这个阶级。

当我们不需要使用实例调用方法时,我们使用静态方法。

静态方法应该在类上调用,实例方法应该在类的实例上调用。但这在现实中意味着什么呢?下面是一个有用的例子:

car类可能有一个名为Accelerate()的实例方法。你只能加速一个汽车,如果汽车确实存在(已经构造),因此这将是一个实例方法。

car类也可能有一个名为GetCarCount()的计数方法。这将返回创建(或构造)的汽车总数。如果没有构造汽车,这个方法将返回0,但它仍然可以被调用,因此它必须是一个静态方法。