public void方法不会在main方法中运行

时间:2018-08-07 00:26:11

标签: java static

这个问题本身有点广泛,但是这里的问题很具体。我遇到的麻烦是声音。我在这里有这段代码:

private Clip clip;
public void play(String file) //plays audio file
    {   
        File f = new File(file);
        try{
            AudioInputStream ais = AudioSystem.getAudioInputStream(f);
            clip.open(ais);
            clip.start();
            Thread.sleep(39000);
            clip.close();
            clip.drain();
            }
        catch(Exception exc)
            { exc.printStackTrace(System.out);}
        }
 public static void main(String[] args) 
{
  play("DoND Theme.wav");
}

将Clip设为私有的原因是,我可以在单击按钮时调用它:

public void actionPerformed(ActionEvent event)
{
    if(event.getSource()== start)
        {
           clip.stop();
           this.dispose();
           Game gameWindow = new Game();
        }
}

但是,我在“主要”部分遇到一个错误,即无法从静态上下文中引用非静态方法。我做错了什么?我尝试过修改静态和/或公开的其他内容,但最终没有成功。预先感谢。

0 个答案:

没有答案