多态必要之一重写
关键字super 的使用
子类用父类必须使用关键字super
public class Employee {
private String name;
private String address;
private int number;
public Employee(String name, String address, int number){
System.out.println("Employee构造函数,三个参数");
this.name = name;
this.address = address;
this.number = number;
}
public void mailCheck(){
System.out.println("邮寄工资给:"+this.name+" "+this.address);
}
public String toString(){
return name +" "+address+" "+number;
}
public String getName(){
return name;
}
public String getAddress(){
return address;
}
public void setAddress(String newAddress){
address = newAddress;
}
public int getNumber(){
return number;
}
}
public class Salary extends Employee{
private double salary;
public Salary(String name, String address, int number, double salary){
super(name, address, number);
setSalary(salary);
}
public void mailCheck(){
System.out.println("Salary 类的 mailCheck 方法");
System.out.println("工资邮寄给"+ getName()+",工资为:"+salary);
}
public double getSalary(){
return salary;
}
public void setSalary(double newSalary){
if(newSalary >=0.0){
salary = newSalary;
}
}
//public double computepay(){
// System.out.println("计算工资,付给:"+getName());
// return salary/52;
//}
}
public class VirualDemo {
public static void main(String[] args){
Salary s = new Salary("小李","beijing",3,3600.00);
Employee e = new Salary("小张","shanghai",4,2400.00);
System.out.println("使用 Salary的调用mailCheck-- ");
s.mailCheck();
System.out.println("\n 使用 Employee的调用 mailCheck--");
e.mailCheck();
}
}
执行结果
Employee构造函数,三个参数
Employee构造函数,三个参数
使用 Salary的调用mailCheck--
Salary 类的 mailCheck 方法
工资邮寄给小李,工资为:3600.0
使用 Employee的调用 mailCheck--
Salary 类的 mailCheck 方法
工资邮寄给小张,工资为:2400.0
代码很简单,部分功能也没用到;但是重写调用锻炼了。