使用 Main.java 文件设置方法

setting up methods with the Main.java file

超级新手 Java
我有一个带有 public static void main (String args[]){} 调用的主 class。我只被允许使用 Main class 中的 Scanner class。我正在努力使我的代码尽可能可重用。我有一组在不同 class 中创建的指令。要访问这些说明,我正在这样做。

public static void main (String args[]){
    Main main = new Main();
    main.showInstructions();
}

这让我可以调用这个函数

void showInstructions(){
    instructions.welcome();
}

在静态主调用之上,我有我的变量

Scanner keyboard = new Scanner(System.in);
// create a new instructions
Instructions instructions = new Instructions();

做这种事 Main main = new Main(); 好吗?我的想法是,如果需要,我可以反复使用 instructions() 方法。 似乎没有做类似的事情,主要 java class.

中的所有内容都必须是静态的

是的,是的。事实上,您的 main 通常应该是创建一个实例(通常是 Main class)并调用实例方法的单行代码,将 args 传递给构造函数或该方法,但前提是您关心参数。您实际上是在这样做(您可以单行显示:new Main().showInstructions(); 工作正常,但如果 showInstructions() 不仅显示说明而且还要求反馈并且通常会运行整个应用程序,showInstructions 不是一个好名字。mainLoop 是一个选项,menu() 也是一个选项,如果它是您要求用户输入选项的那种设置。

原因是staticstatic有点复杂。当你完全理解它的作用但你没有编程经验并且你的大脑主要在思考各种(通常非常简单的)'java 101' 作业练习时,你倾向于认为 static 绝对是惊人的,一切应该是 static - 而程序员的实际行为是 static 不适合除了无状态实用方法之外的几乎所有东西,即使这样它也是一个可疑的想法 - 这没有争议:几乎每个程序员认为静态是一个严重的问题。

因此,最好不要使用 static。您的 main 方法必须是,但是,'get out' 尽快:实例化 class,调用实例(非 static)方法,仅此而已。除了 main 本身,没有 static 任何地方,这是正确的方法。