sinat_25234961 2015-09-17 08:57 采纳率: 100%
浏览 7253
已采纳

java *不是抽象的,并且未覆盖*中的抽象方法

先附上代码
import javax.sound.midi.*;
public class MiniMusicPlayer2 implements ControllerEventListener{

public static void main(String[] args){
    MiniMusicPlayer2 mini=new MiniMusicPlayer2();
    mini.go();
}

public void go(){

    try{
        Sequencer sequencer=MidiSystem.getSequencer();
        sequencer.open();

        int[] eventsIWant={127};
        sequencer.addControllerEventListener(this,eventsIWant);

        Sequence seq=new Sequence(Sequence.PPQ,4);
        Track track=seq.createTrack();

        for(int i=5;i<61;i+=4){
            track.add(makeEvent(144,1,i,100,i));

            track.add(makeEvent(176,1,127,0,i));

            track.add(makeEvent(128,1,i,100,i+2));
        }
        sequencer.setSequence(seq);
        sequencer.setTempoInBPM(220);
        sequencer.start();
    }catch(Exception ex){ex.printStackTrace();}
}

public void controlChange(ShortMessage event){
    System.out.println("la");
}

public static MidiEvent makeEvent(int comd,int chan,int one,int two,int tick){
    MidiEvent event=null;
    try{ShortMessage a=new ShortMessage();
        a.setMessage(comd,chan,one,two);
        event=new MidiEvent(a,tick);
    }catch(Exception e){}
    return event;   
}

}

报错为MiniMusicPlayer2.java:2: 错误: MiniMusicPlayer2不是抽象的, 并且未覆盖ControllerE
ventListener中的抽象方法controlChange(ShortMessage)
public class MiniMusicPlayer2 implements ControllerEventListener{
^
1 个错误


我看了很多解答,大多是讲某个大小写问题,但是我是照书打的,不知道错在哪。
顺带问一下,有没有教如何使用java API索引的网址和教学博客,我觉得自己用这个API好多都不知道怎么查

  • 写回答

5条回答 默认 最新

  • Herves 2015-09-19 03:32
    关注

    我将你的代码复制到我的环境上运行了一遍,发现是正常的,你的编译环境是否有问题?我的JDK版本是1.8的,不知道你的JDK是多少的?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试