title: Best way of creating and using an anonymous Runnable class
body: <p>I want to use an anonymous class for <code>Runnable</code>. There are two ways, but I don't know if they do the same thing or not:</p>
  
  <p>Method one: using <code>Runnable</code> directly and then calling <code>run()</code>:</p>
  
  <pre><code>new Runnable() {
      @Override
      public void run() {
      }
  }.run();
  </code></pre>
  
  <p>Method two: create an anonymous <code>Runnable</code> and paste to <code>Thread</code>, using the <code>start()</code> method instead of <code>run()</code>:</p>
  
  <pre><code>new Thread(new Runnable() {
      @Override
      public void run() {
      }
  }).start();
  </code></pre>
  
  <p>I think method two is obviously true. But, I don't know if it does the same thing as method one. Can we call the <code>run()</code> method on a <code>Runnable</code> directly?</p>