Question on Inheritance in SV

In reply to soumyarayaprolu:

Can anyone explain why I am getting a as 0 in the below example:

module top;
class C;                                                 
int c1 = 1;
int c2 = 1;
int c3 = 1;
function new(int a);
$display("ZAM: a_val: %d",a); // always getting display as 0
c2 = 2;
c3 = a;
endfunction
endclass
class D extends C;
int d1 = 4;
int d2 = c2;
int d3 = 6;
function new;
super.new(d3);
endfunction
endclass
initial  begin
D d1=new();
endmodule

P.S; When I replace int d3=6; with static int d3 =6; then I am able to get value of a as 0 (in base class constructor function)

But when running both the cases a is getting value of 6.