title: what's the meaning of non-abstract empty method in an abstract class
body: <p>I'm reading some source code and can't figure out why there are two non-abstract empty method in an abstract class.</p>
  
  <p>The abstract class was like:</p>
  
  <pre><code>public abstract class AbstractMode extends TimerTask{
  
      abstract public void initial();
  
      abstract public int getAllConsumption();
  
      public void checkTemperature(int currentTem) {};
  
      public void checkConsumption() {};
  
      abstract public long updateHistory();
  
      abstract public void updateMYSQLCurrentDevice(int counter);
  }
  </code></pre>
  
  <p>Only one of it's concrete class override and use them, but I can directly implement these method in the concrete class right? So I was wondering if them could be taken off, what's the use of them?</p>