练 习
一、选择题
1.对于抽象类和接口的区别,以下说法正确的是( )。
A.抽象类可以有构造方法,接口中不能有构造方法
B.抽象类中可以有普通成员变量,接口中没有普通成员变量
C.抽象类中不可以包含静态方法,接口中可以包含静态方法
D.一个类可以实现多个接口,但只能继承一个抽象类
2.下面程序的输出结果是( )。
A.找到最大值 B.找到最小值
C.从大到小的排序 D.从小到大的排序
二、编程题
1.编写Employee(雇员)类。
成员变量:员工编号emp ID、姓名name、电话号码tel、工资salary。
成员方法:
①构造方法(无参构造方法、带有4个参数的构造方法)。
②针对empID的getter()方法、针对salary的setter()和getter()方法。
③void raiseSalary(double proportion)方法按proportion比例涨工资,并重新设置新的工资值。
2.编写Manager(经理)类,该类继承于Employee类。
成员变量:增加办公室officeID。
成员方法:
①两个构造方法〔无参构造方法、带有5个参数的构造方法(用于初始化该类的所有属性)〕。
②officeID属性的setter()和getter()方法。
③重写父类Employee类中的方法void raiseSalary(double dblProportion),经理涨工资的计算方法为在雇员工资涨幅的基础上增加10%的比例。
3.编写Temporary(临时工)类,该类继承于Employee类。
成员变量:增加雇佣年限hire Year。
成员方法:
①两个构造方法〔无参构造方法、带有5个参数的构造方法(用于初始化该类的所有属性)〕。
②hireYear属性的setter()和getter()方法。
③重写父类Employee类中的方法void raiseSalary(double dblProportion),临时工的工资涨幅为正式雇员涨幅的50%。
4.编写测试程序。
①创建一个长度为3的Employee类型的对象数组,数组元素分别为Employee对象、Manager对象和Temporary对象。
②为所有雇员涨一次工资,涨幅为10%。
③输出所有雇员的员工编号信息和最终工资信息。