编程语言
首页 > 编程语言> > java – 从静态上下文访问非静态方法

java – 从静态上下文访问非静态方法

作者:互联网

我对此感到有点困惑,而我在这里浏览建议的答案并没有产生在我的上下文中起作用的直接结果.

我的问题是基本的.让我们假设我有一个像这样的方法.

private int someFunction(int x, int y){
    return (x+y+5)
} 

但是我想从main调用这个函数(public static void main(String args [])).我该怎么做呢?

如果有一个教程,你认为在这种情况下会帮助我,我也会非常感激.

解决方法:

此函数不需要访问任何成员变量,因此您可以将该方法声明为static:

private static int someFunction(int x, int y) {
        ^^^^^^
    return (x+y+5)
} 

这将允许您使用someFunction(arg1,arg2)或YourClass.someFunction(arg1,arg2)从main调用它.

如果该方法实际上确实需要访问成员变量(和/或此引用),则不能将该方法声明为static.在这种情况下,您必须创建包含该方法的类的实例才能调用它:

new YourClass().someFunction(0, 1);

或(如果以后需要重用该实例)

YourClass x = new YourClass();
x.sumFunction(0, 1);

标签:java,methods,access-modifiers
来源: https://codeday.me/bug/20190723/1515270.html