Из конструктора подкласса можно осуществить вызов конструктора суперкласса используя ключевое слово super в следующей форме.
super(список параметров);
где список параметров – список передаваемых переменных конструктору суперкласса. Эта инструкция должна быть всегда первой в конструкторуе подкласса. Как и обычный конструктор (точнее в соответствии с ним) super может быть перегружен.
class A // суперкласс А
{ int a; // (public) доступен в подклассе
private int b; // не доступен в подклассе
protected int c; // доступен в подклассе
A(){} // конструктор без параметров
A(int aa, int bb) // конструктор c 2 параметрами
{ a = aa; // создание нового объекта
b = bb;
c = a+b;
}
A(int aa, int bb, int cc) // конструктор c 3 параметрами
В нем super(ob), вызывается для объекта типа класс B. Эта инструкция активизирует конструктор своего непосредственного суперкласса А:
A(A ob),
где ob уже переменная типа суперкласса А. Как отмечалось выше, переменная суперкласса может быть использована для ссылки на любой объект производного класса.