2016-08-22 10 views
0

私は起動方法を理解しています。&は曲を停止しますが、すべてのonClickListener()が@overrideを必要としないのはなぜですか?なぜ、start、pause、stopボタンのonClickListenerは@overrideを1回だけ行う必要がありますか?

私は今MediaApplayer & AudioManagerについて学んでおり、下のMainActivity.javaのレイアウトの理由を理解したいと思います。@Overrideを必要と

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); 
     } 
    }); 
} 
} 

答えて

4

ませ方法はありません。

@Overrideは、スーパークラスのメソッドをオーバーライドしているか、またはインターフェイスのメソッドを実装していると考えていることを示すヒントです。 @Overrideがあり、メソッドのシグネチャに間違いがある場合(パラメータが間違っている、戻り値の型が間違っているなど)、コンパイラはそのことを知らせることができます。

コードリストに表示される1つの方法から@Overrideを削除して、コードを正常に実行できます。

@Overrideを持つと、アプリを書くときにバグを見つけやすくなりますが、必須条件ではありません。

関連する問題