Java super关键字
注意
子类调用父类的方法或变量,使用
super关键字。
使用super()是必须放在构造函数的第一行;
模型
调用父类构造方法:super(参数,参数);
调用父类成员方法:super.成员方法名(参数,参数);
调用父类成员变量赋值:super.成员变量名 = 参数;
实例代码
实现类
package project1;
abstract class Person {
String name;
int age;
public Person(){
System.out.println("我是空参构造方法");
}
public Person(String n,int a){
name = n;
age = a;
}
public void sleep(){
System.out.println(name+"---"+age+"---"+"人都是要睡觉的");
}
}
class Player extends Person {
public Player(){
super();//先调用父类空参构造方法,不向父类传递参数,再执行该构造方法的以下代码
super.age = 19;//先向父类成员变量age赋值,再执行该构造方法的以下代码
super.name = "张三";
}
public Player(String n,int a){
super(n,a);//先调用父类有参构造方法,并向父类传递两个参数,再执行该构造方法的以下代码
}
public void supercy(){
super.sleep();//先调用父类sleep成员方法,不向父类sleep成员方法传递参数,再执行该构造方法的以下代码
}
}
测试类
package project1;
public class Dumo{
public static void main(String[] args) {
Player p1 = new Player();
p1.supercy();
System.out.println("------------------------");
Player p2 = new Player("李四",20);
p2.supercy();
}
}
输出:
我是空参构造方法
张三---19---人都是要睡觉的
------------------------
李四---20---人都是要睡觉的

浙公网安备 33010602011771号