super关键字一般有以下两种用法:
1.调用父类的构造方法
子类可以调用由父类声明的构造方法。但是必须在子类的构造方法中使用super关键字来调用。格式如下:
super([参数列表]);
如果父类的构造方法中包括参数,则参数列表为必选项,用于指定父类构造方法的入口参数。如下:
(1)在项目中创建Beast类,在类中添加一个默认的构造方法和一个带参数的构造方法:
public class Beast {
String skin;
public Beast(){ //默认构造方法
}
public Beast(String strSkin){ //带参数的构造方法
skin = strSkin;
}
public void move(){
System.out.println("pao");
}
}
(2)如果想在子类Tiger中使用父类的带参数的构造方法,则需要在子类Tiger的构造方法中进行调用。如下:
public class Tiger extends Beast{
public Tiger(){
super("条纹"); //使用父类的带参数的构造方法
}
}
2.操作被隐藏的成员变量和被重写的成员方法
在子类中,可以使用super关键字操作父类中被隐藏的成员变量和被重写的成员方法,如下:
super.成员变量名
super.成员方法名([参数列表])
如在上例中,如果想在子类Tiger的方法中改变父类Beast的成员变量skin的值,可以使用一下代码:
super.skin = "条纹";
如果想在子类Tiger的方法中使用父类Beast的成员方法move(),可以使用一下代码:
super.move();