Java 为什么启动、暂停、停止按钮的onClickListener只需要@override一次?

Java 为什么启动、暂停、停止按钮的onClickListener只需要@override一次?,java,android,Java,Android,我知道如何开始、暂停和停止歌曲,但为什么所有onClickListener()都不需要@override 我目前正在学习MediaPlayer和AudioManager,希望了解下面MainActivity.java上布局的原因 final MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.desiigner_panda); Button playButton = (Button) findViewById(R.i

我知道如何开始、暂停和停止歌曲,但为什么所有onClickListener()都不需要@override

我目前正在学习MediaPlayer和AudioManager,希望了解下面MainActivity.java上布局的原因

    final MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.desiigner_panda);

    Button playButton = (Button) findViewById(R.id.Play_Button);
    playButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mediaPlayer.start();
            mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mediaPlayer) {
                    Toast.makeText(MainActivity.this, "I'm Done", Toast.LENGTH_SHORT);
                }
            });
        }
    });

    Button pauseButton = (Button) findViewById(R.id.Pause_Button);
    pauseButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            mediaPlayer.pause();
        }
    });

    Button unMuteButton = (Button) findViewById(R.id.Unmute_Button);
    unMuteButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            mediaPlayer.setVolume(1,1);
        }
    });

    Button MuteButton = (Button) findViewById(R.id.Mute_Button);
    MuteButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            mediaPlayer.setVolume(0,0);
        }
    });
}
}
没有方法需要
@覆盖

@Override
是对编译器的一个提示,表明您认为您正在从超类重写方法或从接口实现方法。如果您有
@Override
,并且方法签名中有错误(错误的参数、错误的返回类型等),编译器可以让您知道

您可以从代码列表中出现的方法中删除
@Override
,这样代码就可以正常运行了

拥有
@Override
是一个好主意,可以帮助您在编写应用程序时捕获错误,但这不是一个要求。

没有方法需要
@Override

@Override
是对编译器的一个提示,表明您认为您正在从超类重写方法或从接口实现方法。如果您有
@Override
,并且方法签名中有错误(错误的参数、错误的返回类型等),编译器可以让您知道

您可以从代码列表中出现的方法中删除
@Override
,这样代码就可以正常运行了

拥有
@覆盖
是一个好主意,可以帮助您在编写应用程序时捕获bug,但这不是一个要求