Java之继承与多态

 多态存在的必要条件:

1.继承

2.重写

3.父类引用指向子类对象


多态使用实例

平台:ubuntu14.04,环境:eclipse

Employee类

package com.anson.java;

/**
 * 雇员类
 * 作为Salary的基类
 * @author anson
 *
 */
public class Employee {

	private String Name=null;
	private String Address=null;
	private String Number=null;
	
	public Employee()
	{
		
	}
	/**
	 * 构造
	 * @param name
	 * @param address
	 * @param number
	 */
	public Employee(String name,String address,String number)
	{
		Name=name;
		Address=address;
		Number=number;
	}
	
	/**
	 * 邮件检查
	 */
	public void mailCheck()
	{
		System.out.println("Employee类");
		System.out.println("邮票寄给"+this.Name+"  ,  "+this.Address);
	}
	
	public String toString()
	{
		return this.Name+"  "+this.Address+"   "+this.Number;
	}
	
	/**
	 * 返回姓名
	 * @return
	 */
	public String getName()
	{
		return this.Name;
	}
	
	/**
	 * 设置姓名
	 * @param Name
	 */
	public void setName(String Name)
	{
		this.Name=Name;
	}
	
	/**
	 * 返回地址
	 * @return
	 */
	public String getAddrtess()
	{
		return this.Address;
	}
	
	/**
	 * 设置地址
	 * @param Address
	 */
	public void setAddress(String Address)
	{
		this.Address=Address;
	}
	
	/**
	 * 返回号码
	 * @return
	 */
	public String getNubmer()
	{
		return this.Number;
	}
	
	/**
	 * 设置号码
	 * @param Number
	 */
	public void setNubmer(String Number)
	{
		this.Number=Number;
	}
}

Salary类

package com.anson.java;

/**
 * 薪酬类继承雇员类
 * @author anson
 *
 */
public class Salary extends Employee{
	
	private double salary=0;
	
	/**
	 * 构造
	 * @param Name
	 * @param Address
	 * @param Number
	 * @param salary
	 */
	public Salary(String Name,String Address,String Number,double salary)
	{
		super(Name,Address,Number);
		this.salary=salary;
	}
	public void mailCheck()
	{
		System.out.println("Salary类");
		System.out.println("邮票寄给"+this.getName()+"   "+"地址"+this.getAddrtess()+"   "+"金额"+this.salary);
	}
	/**
	 * 获取薪酬
	 * @return
	 */
	public double getSalary()
	{
		return this.salary;
	}
	
	/**
	 * 设置薪酬
	 * @param salary
	 */
	public void setSalary(double salary)
	{
		this.salary=salary;
	}
	
	/**
	 * 计算支付
	 * @return
	 */
	public double computPay()
	{
		return this.salary/2;
	}
}

Test类

package com.anson.java;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Employee e=new Salary("员工A","上海","0100101",8000);
		e.mailCheck();
		
		Salary s=new Salary("员工B","北京","010020301",12000);
		s.mailCheck();
	}
}

测试结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值