Java 将方法从一个类调用到另一个类
开始学习UML图,以及如何在类之间进行交互。关于如何将这个方法从Player类调用到main方法类的问题。(我的指示说我不允许使用构造函数) 玩家等级=Java 将方法从一个类调用到另一个类,java,methods,Java,Methods,开始学习UML图,以及如何在类之间进行交互。关于如何将这个方法从Player类调用到main方法类的问题。(我的指示说我不允许使用构造函数) 玩家等级= public String askForGuess() { System.out.println("Enter your guess: "); String userGuess = keyboard.nextLine(); return userGuess; } Bagel类(包括main方法,尝试调用askForG
public String askForGuess()
{
System.out.println("Enter your guess: ");
String userGuess = keyboard.nextLine();
return userGuess;
}
Bagel类(包括main方法,尝试调用askForGuess方法
Player.askForGuess(); //Java is saying I need to change it to static, is that true?
是的,如果要使用类名调用方法,该方法应该是静态的 如果不想使该方法成为静态的,则应创建该类的实例,然后调用该方法 在这种情况下,使方法具有静态意义,因为它与类的字段/方法没有任何“关系”。在main(…)方法中,如果您直接调用另一个类方法,如:MyClass.doSomething(),则方法doSomething()必须声明为静态。否则,您需要创建如下类的实例: MyClass clazz=新的MyClass() 然后调用它的方法:clazz.doSomething()
希望这会有所帮助。正如其他人指出的那样,将方法设置为静态将解决您的问题。他们没有告诉您的是为什么
static
方法与类本身相关联,而不是与任何特定对象相关联。使用此类静态方法不必创建对象。即使创建了数千个对象,该方法仍将只有一个实例
class Foo{
void foo(){...}
}
new Foo().foo(); //method is part of each object
class Bar {
static void bar(){...}
}
Bar.foo(); //method is at the class level
了解更多信息。谢谢!这回答了我的问题。