练 习

练 习

一、选择题

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%。

③输出所有雇员的员工编号信息和最终工资信息。