2011-10-26 59 views
0

現在,由於靜態和非原型錯誤,我現在遇到了問題。有些變量無法找到主要方法。變量在被引用時找不到主驅動程序類

我已經通過創建該類實例化一個單獨的文件strated程序。像這樣:

public class StartUp { 
    public void main(String[] args) { 
     MainDriver theMainDriver = new MainDriver(); 
     theMainDriver.start(); 
    } 
} 

在程序的某些類中,它將變量傳回給mainDriver。但是當我嘗試將其引用時,我得到錯誤「無法找到符號變量theMainDriver」。

e.g:

public void getEmployee() { 
     theMainDriver.setEmployee(theEmployee); 
} 

public void getEmployeeID() { 
    theMainDriver.setEmployeeID(randomIDno); 
} 

我怎麼可以聲明的主要驅動力的方式,使得它與其他類更爲明顯。 它確實找到主驅動程序,如果我這樣做MainDriver.setEmployeeID(randomIDno);但是它具有非靜態方法的問題,無法從靜態上下文中引用。

回答

0

你可以做到以下幾點:

public class StartUp { 

    public static MainDriver theMainDriver; 

    public void main(String[] args) { 
     theMainDriver = new MainDriver(); 
     theMainDriver.start(); 
    } 
} 

,並從任何類調用如下:

Startup.theMainDriver.setEmployeeID(randomIDno); 
+0

這與OP的代碼有什麼不同? :@? – raj

+0

由@Binyomin發佈的給定(原始)代碼? – raj

+0

最後一行嗯看起來有希望我會試一試 – Binyomin

0

3件事情,如果有編譯錯誤。

1)是MainDriver公衆? 2)如果MainDriver是在不同的包中,那麼你是否使用了import呢?
3)如果MainDriver是來自不同的pacakage或不同的項目或外部jar,你有沒有在類路徑中給出?

此外,作爲行吟詩人傢伙說,U爲得到的main(String[] args)

+0

是它被聲明爲public類MainDriver 。它是在同一個包 – Binyomin

+0

告訴我這個,編譯錯誤? – raj

+1

好吧,我添加了靜態和它的運行和錯誤 – Binyomin

0

首先在static部分,主要聲明應該像

我無法理解你是如何運行的PROGRAMM不使其靜態

其次,你didn.t給您MainDriver類的結構。可能是不公開的。因此,讓您的MainDriver類公開。我認爲,這將解決這個問題

+0

燁正確固定,但仍然有問題 – Binyomin

+0

您有什麼問題???? –

相關問題