Думаю, при инициализации переменных берется только класс переменной из родительского. Для Boolean значение по умолчанию 'false'. После вызова родительского конструктора, переменной задается значение, если значение задано до вызова super(), то значение родительского класса игнорируется(что логично в общем-то). Если super() не вызывается в конструкторе, компилятор добавляет его в первую инструкцию конструктора наследника.

Код AS3:
public class A
{
protected var a:String = 'from A';
trace('init A');
public function A()
{
trace('cnt A');
a = 'from cnt A';
}
}
public class B extends A
{
trace('init B')
public function B()
{
trace('cnt B, set a, a=', a);
a = 'cnt B'
trace('a from B cnt, a=', a);
super();
}
}
var b:B = new B();
trace('')
var c:B = new B();
/*
init A
init B
cnt B, set a, a= null
a from B cnt, a= cnt B
cnt A
cnt B, set a, a= null
a from B cnt, a= cnt B
cnt A
*/