java - unique difference between abstract class and concrete class
<p>I know few differences between abstract class and concrete class. I know that you can't create an instance with abstract class unlike concrete class, abstract class can have 'abstract' methods. </p>

<p>But i have an example like the following. A lot of times, we see the following examples at work. I will just skip some common methods that can be defined in the Parent class.</p>

<pre><code>public abstract class Parent {
    public void init() {
       doInit();
    }
    public abstract void doInit();
}

public class Child extends Parent {
    public void doInit() {
       // implementation
    }
}
</code></pre>

<p>I think that we can do the same thing with a concrete class like the following.</p>

<pre><code>    public class Parent {
        public void init() {
          doInit();
        }
        public void doInit() {
           // Empty
        }
    }
</code></pre>

<p>I am curious to see if there is any unique situation that we have to use abstract class.  Is there any significant difference during runtime with the above example?</p>

<p>Thank you.</p>
