title: Java extends Thread not working but implements Runnable does. I don't see why?
body: <p>I can't believe this is giving me trouble.
  My test on <code>extend Thread</code> does not work and my <code>implement Runnable</code> does. I have compared to working thread code I have written in the past and cannot see what's wrong.</p>
  
  <p>Could someone point out my noob mistake?</p>
  
  <p><strong>Not working</strong></p>
  
  <pre><code>public class PrimeThread extends Thread
  {
      long minPrime;
  
      public PrimeThread(long minPrime)
      {
          this.minPrime = minPrime;
      }
  
      public static void main(String[] args) 
      {
          PrimeThread p = new PrimeThread(11);
          p.start();
      }
  
      public void Run()
      {
          System.out.println("wtf");
      }
  }
  </code></pre>
  
  <p><strong>Working</strong></p>
  
  <pre><code>public class PrimeRun implements Runnable
  {
      long minPrime;
      public PrimeRun(long in)
      {
          minPrime=in;
      }
      public static void main(String[] args) 
      {
          PrimeRun p = new PrimeRun(143);       
          new Thread(p).start();
      }
  
      @Override
      public void run()
      {
          System.out.println("hello");
      }
  }
  </code></pre>