JAVA继承、多态练习
2014-09-24 18:39
363 查看
package PersonSalary; abstract class Person { private int ID; private String name; private double salary; int holidays; public Person(){ } public Person(int ID,String name,double salary,int holidays){ this.ID = ID; this.name = name; this.salary = salary; this.holidays = holidays; } public double CalculateSalary(){ if(holidays==0) return salary; else if(holidays>0&&holidays<5) return salary*0.75; else return salary*0.5; } } package PersonSalary; public class Employee extends Person { public Employee(){ super(); } public Employee(int ID,String name,double salary,int holidays){ super(ID,name,salary,holidays); } public double CalculateSalary(){ return super.CalculateSalary()+super.CalculateSalary()*0.1 +super.CalculateSalary()*0.3; } } package PersonSalary; public class Manager extends Person { public Manager(){ super(); } public Manager(int ID,String name,double salary,int holidays){ super(ID,name,salary,holidays); } public double CalculateSalary(){ return super.CalculateSalary()+super.CalculateSalary()*0.2+ super.CalculateSalary()*0.5+500; } } package PersonSalary; public class Director extends Person { public Director(){ super(); } public Director(int ID,String name,double salary,int holidays){ super(ID,name,salary,holidays); } public double CalculateSalary(){ return super.CalculateSalary()+super.CalculateSalary()*0.2 +super.CalculateSalary()*0.5+500; } } package PersonSalary; import java.util.*; public class Test { public static void main(String[] args) { Scanner reader = new Scanner(System.in); System.out.println("请输入ID:"); int ID = reader.nextInt(); System.out.println("请输入姓名:"); String name = reader.next(); System.out.println("请输入工资:"); double salary = reader.nextDouble(); System.out.println("请输入请假天数:"); int holidays = reader.nextInt(); System.out.println("请选择职业:"); System.out.println("1.普通员工 2.经理 3.董事"); int choose = reader.nextInt(); if(choose==1){ Employee TCL = new Employee(ID,name,salary,holidays); System.out.println(name+"的工资为:"+TCL.CalculateSalary()); }else if(choose==2){ Manager TCL = new Manager(ID,name,salary,holidays); System.out.println(name+"的工资为:"+TCL.CalculateSalary()); }else{ Director TCL = new Director(ID,name,salary,holidays); System.out.println(name+"的工资为:"+TCL.CalculateSalary()); } } }
相关文章推荐
- 继承,接口,多态练习java
- 我们神码小组第一次合作完成的java项目——类的多态继承与接口的使用练习。
- Java 基础一些代码练习笔记(继承+接口+多态)
- Java基本功练习十六(继承和多态【继承多态覆盖练习、多重继承、数组线性表ArrayList、银行账户类升级】)
- 编码练习——Java-5-接口、继承与多态
- java 继承与多态练习题目
- 编码练习——Java-5-接口、继承与多态
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- 温习Java笔记(5):构造函数、继承和多态
- Java 课堂记录 03 (继承与多态)
- java中对面向对象的三大特征:封装、继承、多态的理解
- Java中的继承和多态
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- JAVA学习笔记之七继承和多态
- java桌面 第二章继承和多态
- JAVA中几个易混淆关键词的理解:行为,隐藏,组合和继承,覆写和重载,多形(多态)性,动态绑定,上溯造型,抽象类,接口
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- Java,C#,C++在继承,覆盖和多态,抽象类等几个方面的比较归纳
- java编程-面向对象---继承和多态
- [Java]重载,重写以及继承,多态的区别