Java - Timer.cancel () v / s TimerTask.cancel ()

In meiner Android-Anwendung starte ich einen Timer und storniere ihn bei einem anderen Ereignis:

  class MyTimerTask extends TimerTask {
       override boolean cancel() {
         ...
       }

       override void run() {
         ...
       }
  }

  ...
  Timer t = new Timer();
  t.schedule(new MyTimerTask(),...)
  ...
  t.cancel();

ich habe erwartett.cancel() automatisch aufrufenMyTimerTask'scancel() Methode. Diese Methode wird jedoch nie aufgerufen.

Ich frage mich, was genau der Unterschied zwischen diesen beiden Methoden ist und warum die zweite Methode nicht automatisch aufgerufen wird.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage