感谢您的帮助和快速帮助!
答案 0 :(得分:0)
我强烈建议您阅读制作Java的人员的这篇(官方)教程:https://docs.oracle.com/javase/tutorial/java/concepts/index.html
(不,非常认真。阅读该教程。我专门讨论了面向对象编程的部分,它解释了你的问题。它非常有用。)
现在更直接地回答你的问题。
您的roul
方法是“类方法”(而不是“实例方法”),因为它的定义前面有关键字static
。这意味着您使用类的名称调用它,而不是使用您创建的特定对象(实例)。
因此,为了调用roul
的{{1}}方法,请在GameRunner
中执行以下操作:
main
没有必要实例化GameRunner.roul(in, number, userChoice);
,除非它具有您需要调用的非静态方法。因此,除非是这种情况,否则请不要执行以下操作:
GameRunner
最后,请注意,参数的名称不必与参数名称相同,只要它们的类型相同即可。 “参数”是您在定义方法时使用的变量。 “参数”是您传递给方法的实际变量。
例如,方法定义包含参数:
GameRunner roul = new GameRunner ();
方法调用的参数可以有不同的名称:
public static void myMethod(int parameter1, int parameter2) {
/* do stuff */
}
答案 1 :(得分:0)
声明类和方法静态然后调用如下:
GameRunner.roul(); // pass in arguments if needed
答案 2 :(得分:0)
public class Driver {
public static void main (String[] args) {
Scanner in = new Scanner(System.in);
int number = 3;
int userChoice = 0;
GameRunner runner = new GameRunner ();
// The following line will invoke the target method of your game runner instance.
runner.roul(in, number, userChoice);
}
}
答案 3 :(得分:-1)
public static void run()是您的应用程序的入口点,您不需要另一个。看起来你需要了解面向对象的基础知识。
如果您正在尝试制作游戏,也许您可以从教程开始?我建议使用像轻量级Java游戏库这样的游戏库。继续和谷歌一些教程。