我的java学习笔01继承

继承的规则:is-a,Manager is a Employee,经理是一个雇员。

先构造父类Employee.java

package inheritance;

import java.util.Date;
import java.util.GregorianCalendar;

public class Employee {
	private String name;
	private double salary;
	private Date hireDay;
	
	public Employee(String n, double s, int year, int month, int day){
		name = n;
		salary = s;
		GregorianCalendar calendar = new GregorianCalendar(year, month-1, day);
		hireDay = calendar.getTime();
	}
	
	public String getName(){
		return name;
	}
	public double getSalary(){
		return salary;
	}
	public Date getHireDay(){
		return hireDay;
	}
	 
	public void raiseSalary(double byPercent){
		double raise = salary*byPercent / 100;
		salary += raise;
	}
}



再构造子类Manager.java

package inheritance;

public class Manager extends Employee {
	private double bonus;
    /*param n the employee's name
     * param s the salary
     * param year the hire year
     * param month the hire month
     * param day the hire day
     * */
	public  Manager(String n, double s, int year, int month, int day){
		super(n, s, year, month, day);
		bonus = 0;
	}
	
	public double getSalary(){
		double baseSalary = super.getSalary();
		return baseSalary + bonus;
	}
	
	public void setBonus(double b){
		bonus = b;
	}
}


测试ManagerTest.java

package inheritance;
  
//This program demonstrates inheritance.
public class ManagerTest {
	
	public static void main(String[] args){
		//construct a Manager object
		Manager boss = new Manager("Carl", 80000, 1987, 12, 15);
		boss.setBonus(5000);
		
		//fill the staff array with Manager and Employee objects
		Employee[] staff = new Employee[3];
		staff[0] = boss;
		staff[1] = new Employee("Hacker", 50000, 1989, 10, 1);
		staff[2] = new Employee("Tomy", 40000, 1990, 3, 15);
		
		//print out information about all Employee objects
		for(Employee e : staff){
			System.out.println("name="+e.getName()+",salary="+e.getSalary());
		}
	}

}


输出结果

name=Carl,salary=85000.0
name=Hacker,salary=50000.0
name=Tomy,salary=40000.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值