设计一个接口Student,该接口描述的是本科生(StudentG)和硕士生(StudentM)的公共方法:输出所有信息,判断学生是否优秀。
在该接口的基础上实现两个类StudentG和StudentM。
StudentG属性:姓名,学号,是否过CET4,上学年综合测评成绩。
StudentG包含方法:构造函数,接口中定义的所有方法(本科生优秀的标准是过CET4,上学年综合测评成绩大于85分)。
StudentM属性:姓名,学号,是否过CET6,已发表文章篇数。
StudentM包含方法:构造函数,接口中定义的所有方法(硕士生优秀的标准是过CET6,已发表文章篇数大于1)。
要求:
(1)实现上述的接口和类;
(2)(在main函数内)实例化五个对象:三个本科生,两个硕士生 (至少各有一个优秀);
(3)输出所实例化的五个学生是否优秀;
(4)输出优秀学生的所有属性信息。
1.Student接口
package week1.day3;
public interface Student {
public abstract void show();
public abstract boolean Pd();
}
2.本科生StudentG类
public class StudentG implements Student {
private String name;
private int num;
private boolean C4;
private double pc;
public StudentG(String name, int num, boolean c4, double pc) {
this.name = name;
this.num = num;
C4 = c4;
this.pc = pc;
}
@Override
public void show() {
System.out.println("姓名:" + name + "学号:" + num + "是否过四级:" + C4 + "综合成绩:" + pc);
}
@Override
public boolean Pd() {
if (C4 == true && pc > 85) {
System.out.println(name+"优秀");
return true;
} else {
System.out.println(name+"不优秀");
return false;
}
}
}
3.硕士生StudentM
public class StudentM implements Student{
private String name;
private int num;
private boolean C6;
private int wz;
public StudentM(String name, int num, boolean c6, int wz) {
this.name = name;
this.num = num;
C6 = c6;
this.wz = wz;
}
@Override
public void show() {
System.out.println("姓名:" + name + "学号:" + num + "是否过四级:" + C6 + "综合成绩:" + wz);
}
@Override
public boolean Pd() {
if (C6 == true && wz > 1) {
System.out.println(name+"优秀");
return true;
} else {
System.out.println(name+"不优秀");
return false;
}
}
}
4.StudentPd类,用来判断输出
public class StudentPd {
public static void StudentPd(Student student) {
boolean pd;
pd=student.Pd();
if (pd==true){
student.show();
}
}
}
5.主方法
public class test {
public static void main(String[] args) {
Student g1=new StudentG("张三",123231,true,90);
Student g2=new StudentG("张四",123231,true,60);
Student g3=new StudentG("张五",123231,false,90);
StudentPd.StudentPd(g1);
StudentPd.StudentPd(g2);
StudentPd.StudentPd(g3);
Student m1=new StudentM("李四",32874,true,2);
Student m2=new StudentM("李一",3284534,false,1);
StudentPd.StudentPd(m1);
StudentPd.StudentPd(m2);
}
}