Java 为什么启动、暂停、停止按钮的onClickListener只需要@override一次?
我知道如何开始、暂停和停止歌曲,但为什么所有onClickListener()都不需要@override 我目前正在学习MediaPlayer和AudioManager,希望了解下面MainActivity.java上布局的原因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
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,但这不是一个要求