|
super有两种通用形式。第一种调用超类的构造函数。第二种用来访问被子类的成员隐藏的超类成员。下面分别介绍每一种用法。
|
|
|
|
子类可以调用超类中定义的构造函数方法,用super的以下形式:
|
|
|
|
这里,parameter-list定义了超类中构造函数所用到的所有参数。super()必须是在子类构造函数中的第一个执行语句。当一个子类调用super()时,它调用它的直接超类的构造函数。这样,super()总是引用调用类直接的超类。这甚至在多层次结构中也是成立的。同时,super()必须是子类构造函数中的第一个执行语句。
|
|
|
|
super的第二种形式,除了总是引用它所在子类的超类,它的行为有点像this。这种用法有下面的通用形式:
|
|
|
|
这里,member既可以是一个方法也可以是一个实例变量。
|
|
|
super的第二种形式多数是用于超类成员名被子类中同样的成员名隐藏的情况。
|
|
|