Java之继承与多态

来源:互联网 发布:ftp命令 linux 编辑:程序博客网 时间:2024/05/27 06:14

 多态存在的必要条件:

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 stubEmployee e=new Salary("员工A","上海","0100101",8000);e.mailCheck();Salary s=new Salary("员工B","北京","010020301",12000);s.mailCheck();}}

测试结果:


0 0
原创粉丝点击