typecasting in inheritance
<p>Given:</p>

<pre><code>class TestA {
    public void start() { System.out.println(”TestA”); }
}
public class TestB extends TestA {
    public void start() { System.out.println(”TestB”); }
    public static void main(String[] args) {
        ((TestA)new TestB()).start();
    }
}
</code></pre>

<p>What is the result?</p>

<blockquote>
  <p>A. TestA</p>
  
  <p>B. TestB</p>
  
  <p>C. Compilation fails.</p>
  
  <p>D. An exception is thrown at runtime.</p>
</blockquote>

<p>The answer I gave to this question was <code>B</code></p>

<p>What is the advantage of typecasting that is done at line 7 as we know that Method to be called depends on the actual object type.can anyone please give an example where the typecasting comes into play???????</p>
