2012-10-02 39 views
0

例如:我買了這樣實現的主要功能的Java類:如何調用Java類的主函數?

public class Job{ 
    public static void main(String[] args) throws Exception{ 
     Job jobA = new Job(); 
     String jobName = System.getProperty("JobName"); 
     job.DoJobA("jobName"); 
    } 

    public void DoJobA(String jobName){ 
     String configPath = System.getProperty("ConFig"); 
     File file = new File(configPath+ "/" + jobName); 
     DoJobB(file); 
    } 
} 

我另一個類,並想調用類工作的主要功能,但無法找到一個方法來做到這一點! 有什麼建議嗎?

+3

爲什麼你只想調用另一個類的'main'方法?你不能寫任何其他簡單的方法和調用它嗎? – RAS

+1

@RAS你是對的。將代碼放在另一個方法中是一個更好的模式,並從主類和其他類中調用此新方法。 – Andy

+0

由於這個班是由另一個寫的,我不想改變它! 這個類用來被shell腳本文件調用,並且在使用shell腳本運行該主函數時很容易傳入系統屬性! 只是不知道如何使用Java來處理它! –

回答

8

你應該能夠調用它就像你調用任何其他靜態方法

Job.main(yourArgs);

+0

是這樣的嗎? Job.main(new String [] {「File1」,「Config1」}; 程序如何知道哪個參數是jobName和哪個參數是Config的? –

+1

是的,主要方法接受一個數組字符串作爲參數,你可以傳遞你喜歡的任何字符串數組,它不是我想象中的一組鍵 - 值對,例如,它不能告訴你哪個參數是容易的,這是應用程序的責任。 – techfoobar

1

如果你做的主要方法使用變參那麼你不需要任何變量

public static void main(String... args) throws Exception{ 
    ... 
} 
傳遞

那麼你可以把它作爲

Job.main(); 

如果你需要參數,那麼你可以通過它們如果。