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---人都是要睡觉的
posted @ 2020-05-06 21:49  ct-debug  阅读(139)  评论(0)    收藏  举报