接口的使用

设计一个接口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);


    }
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值