title: Abstract Method Implementation vs Abstract Method Overriding. Do these two mean the same for Abstract Classes?
body: <p>I'm almost taking the <em>Java SE 8 Programmer I</em> exam (<em>1Z0-808</em>). I'm using this study guide: <a href="https://www.selikoff.net/java-oca-8-programmer-i-study-guide/" rel="nofollow noreferrer">https://www.selikoff.net/java-oca-8-programmer-i-study-guide/</a>. When answering the review questions in chapter 5 (Class Design) i failed at this question:</p>
  
  <p><strong>Which of the following is true about a concrete subclass? (Choose all that apply)</strong> </p>
  
  <ol>
  <li><em>A concrete subclass can be declared as abstract.</em></li>
  <li><em>A concrete subclass must implement all inherited abstract methods.</em></li>
  <li><em>A concrete subclass must implement all methods defined in an
  inherited interface.</em></li>
  <li><em>A concrete subclass cannot be marked as final.</em></li>
  <li><strong><em>Abstract methods cannot be overridden by a concrete subclass.</em></strong></li>
  </ol>
  
  <p>My answers were 2 and 5. But only the 2nd was correct. I selected the 5th answer because i thought that it is true you cannot override an abstract method from an abstract class, but you can implement it, like inferfaces, which are almost like abstract classes since Java 8.</p>
  
  <p>Knowing that interfaces abstract methods are implemented, not overriden, when talking about abstract classes: is it correct to say "Abstract methods can be overriden by a concrete subclass" instead of "Abstract methods can be implemented by a concrete subclass"?</p>
  
  <p>If we pay attention to the second answer (which is the right one) they used the word "implement". </p>