title: Why run method defined with abstract keyword in runnable interface
body: <p>This question may be silly but i accidentally checked in java source code that run method in runnable interface is defined with abstract keyword.
  But according to interface definition all methods in an interface are by default abstract.
  Then i am confused why specially Runnable interface has  abstract keyword for run method.
  I check with other interfaces like map , list etc but no one has abstract keyword.</p>
  
  <p>Please give me an idea why it is written like this in java source code.</p>
  
  <pre><code>public abstract void run();
  </code></pre>
  
  <p>Thanks</p>