设计一个接口Student,该接口描述的是本科生(StudentG)和硕士生(StudentM)的公共方法:设置姓名、设置学号,输出所有信息,判断学生是否优秀。在该接口的基础上实现两个类StudentG和StudentM。
StudentG属性:姓名,学号,是否过CET4,上学年综合测评成绩。StudentG包含方法:构造方法,设置是否过CET4,设置上学年综合测评成绩,接口中定义的所有方法(本科生优秀的标准是过CET4,上学年综合测评成绩大于85分)。
StudentM属性:姓名,学号,是否过CET6,已发表文章篇数。StudentM包含方法:构造方法,设置是否过CET6,设置发表文章篇数,接口中定义的所有方法(硕士生优秀的标准是过CET6,已发表文章篇数大于1)。
要求:(1)实现上述的接口和类;(2)(在main方法内)实例化五个对象:三个本科生,两个硕士生(至少各有一个优秀);(3)用多态的性质来判断所实例化的五个学生是否优秀;(4)输出优秀学生的所有属性信息
package dame;
public class Test {
public static void main(String[] args) {
StudentG g1 = new StudentG(true,95);//实例化
StudentG g2 = new StudentG(false,50);
StudentG g3 = new StudentG(true,100);
g1.setName("本科1");g1.setxuehao("2020161646");
g2.setName("本科2");g2.setxuehao("2020898989");
g3.setName("本科3");g3.setxuehao("2020111222");
StudentM h1=new StudentM(true,10);//实例化
StudentM h2=new StudentM(false,0);
h1.setName("硕士1");h1.setxuehao("2202015444");
h2.setName("硕士1");h2.setxuehao("2202015444");
g1.youxu();g2.youxu();g3.youxu();//是否优秀
h1.youxu();h2.youxu();
g1.aprint();g2.aprint();g3.aprint();//输出
h1.aprint();h2.aprint();
}
}
interface Student{//接口
void setName(String name);
void setxuehao(String id);
void aprint();
void youxu();
}
class StudentG implements Student{
String name;
String id;
boolean Get4;
int score;
public StudentG(boolean GET4,int score){
this.Get4=GET4;
this.score=score;
}
@Override
public void setName(String name) {
this.name=name;
}
@Override
public void setxuehao(String id) {
this.id=id;
}
@Override
public void aprint() {
System.out.println("姓名:"+name+" "+
"学号:"+id+" "+
"是否过GET4"+Get4+" "+
"上学年综合测评成绩上学年综合测评成绩"+score);
}
@Override
public void youxu() {
if(Get4&&score>85)
System.out.println("姓名:"+name+"\t"+"合格");
else
System.out.println("姓名:"+name+"\t"+"不合格");
}
}
class StudentM implements Student{
String name;
String id;
boolean Get6;
int wenzhang;
public StudentM(boolean GET6,int wenzhang){
this.Get6=GET6;
this.wenzhang=wenzhang;
}
@Override
public void setName(String name) {
this.name=name;
}
@Override
public void setxuehao(String id) {
this.id=id;
}
@Override
public void aprint() {
System.out.println("姓名:"+name+" "+
"学号:"+id+" "+
"是否过GET4"+Get6+" "+
"上学年综合测评成绩上学年综合测评成绩"+wenzhang);
}
@Override
public void youxu() {
if(Get6&&wenzhang>1)
System.out.println("姓名:"+name+"\t"+"合格");
else
System.out.println("姓名:"+name+"\t"+"不合格");
}
}