继承实例代码(super和this的使用)

**父类:**
package demo;
public class Person {
	public String id;//身份证号码
	private String name;//姓名
	private String sex;//性别
	/**
	 * 无餐构造函数
	 */
	public Person(){
		//初始化本类变量
		this.id ="sss";
		this.name="zz";
		this.sex="s";
	}
	/**
	 * 有参构造函数,子类通过super调用
	 * @param id 
	 * @param name
	 * @param sex
	 */
	public Person(String id, String name, String sex) {
		//初始三个变量
		this.id = id;
		this.name = name;
		this.sex = sex;
	}
	public void print(){
		//输出 三个变量
		System.out.println(id);
		System.out.println(name);
		System.out.println(sex);
	}
}

**子类:**
package demo;

public class Employee extends Person {
	private int mySalary;
	/**
	 * 有参构造函数
	 * @param id
	 * @param name
	 * @param sex
	 * @param mySalary
	 */
	public Employee(String id, String name, String sex,int mySalary) {
		//调用父类的有参构造函数
		super(id, name, sex);
		//输出 父类的 id
		System.out.println(super.id);
		//初始化  本类的  mySalary  变量
		this.mySalary = mySalary;
	}
	/**
	 * 无参构造函数
	 * 执行顺序:
	 * 父类的无参的构造函数(初始化父类的三个变量)  本类的print方法    初始化本类的mySalary变量
	 */
	public Employee(){
		//本类的print方法(此时,本类的mySalary还没初始化,所以是0)
		this.print();
		//初始化本类的mySalary变量
		this.mySalary = 5000;
	}
	public void print(){
		//调用父类的print方法  
		super.print();
		//输出本类的 mySalary
		System.out.println(mySalary);
	}
}

**测试类:**
package demo;

public class Test {
	public static void main(String[] args) {
		//调用子类有参构造函数 初始化父类和子类各自变量 
		Employee e = new Employee("05063811", "zhangzongyao", "nan", 5000);
		//调用子类 print方法
		e.print();
		//调用无参构造函数  初始化父类和子类各自变量 
		Employee e1 = new Employee();
		//调用子类 print方法
		e1.print();
	}
}
``
**输出结果:**

05063811

05063811
zhangzongyao
nan
5000

sss
zz
s
0

sss
zz
s
5000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值