图片不能显示,复制在此楼:
在Eclipse中创建一个Java项目,项目命名方式为:学号+实验编号,例如:学号为2014121001的同学的实验三项目命名为:2014121001exp3
基于已有的类应用Java继承机制创建一个新类
在上一个实验中,我们定义了一个学生类(Student)表示一个学生对象,Student类在你的Project的exp2.entities包中。现在要求你基于已有的Student类以继承的方式创建一个新的类StudentCadre类,StudentCadre类表示学生干部。学生干部比一般学生多一个属性:职务(headship),同时,学生干部类新增以下行为:
可以设置和取得学生干部的职务(针对headeship的setter和getter方法);
学生干部可以演讲(speech),演讲会输出学生干部的姓名和职务信息。
根据上述对学生干部对象的描述,定义一个StudentCadre类表示学生干部,具体要求如下:
StudentCadre类定义在exp3包中;
表示属性的成员变量名参照上述描述,但数据类型为String类型;
StudentCadre类的构造方法,对学生干部的姓名、学号和职务三个属性进行初始化,在此步骤中使用super关键字。
上述行为都定义为公有的成员方法,方法名自定义。
方法重载练习
构造方法重载:为StudentCadre类增加一个构造方法,实现构造方法重载,方法的实现自定义;
成员方法重载:为StudentCadre类增加一个表示演讲行为的方法,实现成员方法的重载,新的演讲方法的实现自定义,可设定重载的方法的演讲内容不同于上述题目1中定义的演讲方法,
方法覆盖练习
StudentCadre类继承了Student类的成绩评定方法(rate方法),但由于学生干部的成绩评定规则也与一般学生不同,其细则如下:学分大于等于9.5分为优,小于6为不合格,大于等于6,小于9.5为合格,所以编码实现在StudentCadre类中覆盖Student类的rate方法。
静态变量与静态方法的定义
在Student类中新增加一个静态成员变量(creditForGraduation),表示每个学生毕业必须达到的基本学分,并定义对应的静态成员方法modifyCreditForGraduation来修改这个变量的值。
静态方法隐藏练习
在StudentCadre类中重写父类的modifyCreditForGraduation方法,实现静态方法的隐藏。
在StudentDemo类中分别创建Student对象和StudentCadre对象,并分别调用自己的成员方法,验证实例方法覆盖的结果。
在StudentDemo类中创建一个上转型对象,用上转型对象调用方法验证静态方法的隐藏结果。
访问控制修饰符的使用
修改Student类的各个成员变量的访问控制修饰符,用到public、protected、default和private,自编代码来验证四个访问控制修饰符限定的访问范围。