Java静态上下文

pie*_*154 2 java static

我正在使用一个具有非静态方法调用的包.它不会让我从静态上下文中调用此方法.我无法更改非静态方法,如何调用此方法?

Bol*_*ock 5

从该类创建一个对象并在该对象上调用该方法?

import com.acme.myclass;

...

MyClass obj = new MyClass();
obj.nonStaticMethod();
Run Code Online (Sandbox Code Playgroud)

如果您使用的软件包有任何文档,请务必仔细查看它以了解您希望如何使用该类及其非静态方法.您可能还希望在面向对象编程中更多地了解静态与非静态,以便更好地了解差异.

  • 一秒钟打败了我. (2认同)

jjn*_*guy 5

要调用非静态方法,必须在对象的实例上调用该方法.

鉴于以下课程:

public class MyClass {
    public void nonStaticMethod();
}
Run Code Online (Sandbox Code Playgroud)

您可以这样调用方法:

new MyClass().nonStaticMethod();
Run Code Online (Sandbox Code Playgroud)

或者,如果需要多次调用该方法,可以将其保存到对象中.

MyClass instance = new MyClass();
instance.nonStaticMethod();
...
instance.nonStaticMethod();
Run Code Online (Sandbox Code Playgroud)