title: How to call abstract method from abstract class called by inherit class
body: <p>I want to call a method of an abstract class from abstract class called by inherit class.</p>
  
  <p>Abstract class:</p>
  
  <pre><code>public abstract class Abstract {
      protected void updateMotionY(float deltaTime) {
          System.out.println("Abstrcat updateMotionY");
      }
      public void update(float deltaTime) {
          this.updateMotionY(deltaTime);
      }
  }
  </code></pre>
  
  <p>Inherit class:</p>
  
  <pre><code>public class Obj extends Abstract {
      @Override
      protected void updateMotionY(float deltaTime) {
          System.out.println("updateMotionY");
          super.updateMotionY(deltaTime);
      }
      @Override
      public void update(float deltaTime) {
          super.update(deltaTime);
      }
  }
  </code></pre>
  
  <p>Main method class:</p>
  
  <pre><code>public static void main(String[] args) {
      (new Obj()).update(10.0f);
  }
  </code></pre>
  
  <p>Whenever I try to call <code>new Obj().update()</code> method in main class, it prints "updateMotionY" and "Abstrcat updateMotionY". I want to get only "Abstrcat updateMotionY".</p>
  
  <p>Can anyone tell me how to resolve this problem?</p>