我对此有点困惑,我浏览此处的建议答案并没有立即产生适合我的上下文的结果。
我的问题很基础。让我们假设我有一个类似这样的方法。
private int someFunction(int x, int y){
return (x+y+5)
}
但我想从 main (public static void main(String args[]) )
调用这个函数。我该怎么做呢?
如果您认为有教程在这种情况下对我有帮助,我也将不胜感激。
最佳答案
此函数不需要访问任何成员变量,因此您可以将该方法声明为静态的:
private static int someFunction(int x, int y) {
^^^^^^
return (x+y+5)
}
这将允许您从 main
调用它,使用 someFunction(arg1, arg2)
或 YourClass.someFunction(arg1, arg2)
.
如果方法确实需要访问成员变量(和/或 this
引用),则不能将方法声明为静态方法。在这种情况下,您必须创建一个包含该方法的类的实例才能调用它:
new YourClass().someFunction(0, 1);
或者(如果您以后需要重用该实例)
YourClass x = new YourClass();
x.sumFunction(0, 1);
关于java - 从静态上下文访问非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7188338/