构造器和方法,都用关键字super指向超类,但是用的方法不一样。
方法用这个关键字去执行被重载的超类中的方法。
看下面的例子:
class
Mammal
{
void
getBirthInfo()
{
System.out.println("born
alive.");
}
}
class
Platypus
extends
Mammal
{
void
getBirthInfo()
{
System.out.println("hatch
from
eggs");
System.out.print("a
mammal
normally
is
");
super.getBirthInfo();
}
}
在上面的例子中,使用super.getBirthInfo()去调用超类Mammal中被重载的方法。
构造器使用super去调用超类中的构造器。而且这行代码必须放在第一行,否则编译将出错。看下面的例子:
public
class
SuperClassDemo
{
SuperClassDemo()
{}
}
class
Child
extends
SuperClassDemo
{
Child()
{
super();
}
}
在上面这个没有什麽实际意义的例子中,构造器
Child()包含了
super,它的作用就是将超类中的构造器SuperClassDemo实例化,幷加到
Child类中。
回答完毕,不知道你明白了没有