[英]How do I call a variable from the public static void main to another class?
[英]How to rewrite main class as a Public Void method to be called from another class
我已經圍繞MonopolyGame.java游戲類編寫了程序,但是-我添加了諸如啟動屏幕等功能; 我想從一個單獨的類(RunFile.java)中調用每個。 如何重寫主類的以下部分,以便可以從RunFile.java調用它。 當我嘗試執行此操作時,出現以下錯誤:
未為MonopolyGame類型定義方法MonopolyGame()
MonopolyGame.java
public class MonopolyGame extends JFrame{
// PRIVATE STATIC/DECLARATIONS ARE HERE
public static void main(String[] args) throws Exception {
{
//THIS IS WHERE I USED TO CALL THE SPLASH SCREEN
// SplashScreen s = new SplashScreen(8000);
// s.Splash();
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MonopolyGame window = new MonopolyGame();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}}
/**
* Create the application.
*/
public MonopolyGame()
{
try {
initialize();
for(int i = 0; i < 41 ; i++)
{
properties[i]=new Props();
}
setProperties();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
public void initialize() throws InterruptedException {
//REST OF PROGRAM
運行文件
public class RunFile{
public static void main(String[] args)
{
SplashScreen s = new SplashScreen(8000);
s.Splash();
MonopolyGame m = new MonopolyGame();
m.MonopolyGame();
}
}
您所需要做的就是刪除m.MonopolyGame()
。 由於它與該類具有相同的名稱,因此它是一個構造函數,因此當您執行MonopolyGame m = new MonopolyGame();
它在其中運行邏輯,因此您無需再次執行。
如果確實要單獨調用它,則應將方法的名稱更改為除類名之外的其他名稱(並添加一個返回類型,例如void)
您不需要重寫MonopolyGame()類,只需在RunFile類中反映MonopolyGame()主方法即可。
public class RunFile {
public static void main(String[] args) {
Class<?> aClass = Class.forName(MonopolyGame.class.getName());
Method meth = aClass.getMethod("main", String[].class);
meth.invoke(null, (Object) args);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.