我有一些正在处理的代码。它基本上接受用户输入并创建有向图。一个人可以单向旅行,另一个人则相反。输出是他们可以访问的地方的重叠。
我几乎所有的东西都按照我想要的方式工作,但我担心我所拥有的 static 的使用。我似乎没有完全理解它,无论我在哪里看,我都找不到它的确切用途或如何摆脱它。
谁能帮我理解静态是什么以及它为什么有用?
此外,将大部分代码从 MAIN 移至辅助方法会更好吗?如果我这样做,我必须将所有变量从 main 移动到类的顶部,然后它们都必须声明为静态的?!
最佳答案
一切都必须是静态的原因是因为您没有创建任何对象。如果要通过在 main 方法中调用 new 来创建对象,则可以在该对象上使用非静态变量。这不是一个很好的地方来给你一个教程,告诉你为什么你可能想要使用面向对象的设计;您可以在网上找到其中一个来阅读(上面的评论者提供了可能的引用)。但是一切都必须是静态的原因是因为它们都只是从 main 方法运行,在 java 中它始终是静态的。如果你要在某处调用 new,你可以使用非静态变量。
关于java - 静电不好吗?如何删除静态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15960469/