我剛開始學習java,我遇到了一些靜態/非靜態的問題。我的代碼的問題在actionlistener
之內。當我嘗試編譯它時,它說:什麼使這個上下文是靜態的?那該怎麼辦?
非靜態方法不能從靜態上下文中引用。
我是否認爲所執行的動作是靜態的?如果是這樣,我怎樣才能使用actionlistener
來執行一個方法? (我清楚地知道,我可能只是把文字在我的代碼,爲actionlistener
,但如果我有不同的情況......)
public class But extends JFrame{
public void test(){
//A method
System.out.println("Testing");
}
}
class TestListener implements ActionListener{
public TestListener(){}
public void actionPerformed(ActionEvent e) {
But.test();
}}
雖然可以編譯,但這可能不會調用OP所打算的「But」實例。 – 2011-04-25 22:45:18