title: Does abstract class methods have a body or not?
body: <p>I had came through a theory that abstract class methods doesn't have a method body, only the method signature. And although a method didn't assigned abstract keyword in a method declaration it automatically convert to an abstract in JVM.<br>
  So how come this eat() method has a body and how come it doesn't get to override in Swan class.</p>
  
  <pre><code>public abstract class Animal {
  
      protected int age;
  
      public void eat() {
          System.out.println("Animal is eating");
      }
  
      public abstract String getName();
  }
  
  class Swan extends Animal {
  
      public String getName() {
          return "Swan";
      }
  }
  </code></pre>