title: Why are interfaces preferred to abstract classes?
body: <p>I recently attended an interview and they asked me the question "Why Interfaces are preferred over Abstract classes?"</p>
  
  <p>I tried giving a few answers like:</p>
  
  <ul>
  <li>We can get only one Extends functionality</li>
  <li>they are 100% Abstract</li>
  <li>Implementation is not hard-coded</li>
  </ul>
  
  <p>They asked me take any of the JDBC api that you use. "Why are they Interfaces?".</p>
  
  <p>Can I get a better answer for this?</p>