Function new() overriding ? why should we call super.new() function in derived class constructor?

In reply to kbkdec15:

But you have extended class A in your definition of class B. It does not matter that you have not tried to construct class B. You have written an illegal constructor for class B. The class definition is illegal, and the compiler wont except it. It does not matter even if both class A and B are never constructed, the compiler will reject it as it parses it. The following code by itself will not compile

class A;
   function new(int a);
   endfunction 
endclass
class B extends A;
endclass

The compiler will implicitly insert this constructor into class B;

function new; super.new(); endfunction

and that call to super.new generates an error because it has no argument required by class A’s new.