Aegeanseaff 2021-06-09 16:42 采纳率: 33.3%
浏览 92
已采纳

继承与接口类的编程题

1、编写一个程序,该程序由一个主程序、一个接口和2个类组成。

1)Student类

有姓名、学号、班级3个成员,构造方法对3个成员赋值,一个方法输出成员的值,一个方法比较2个Student对象的姓名、学号、班级是否一致。

2)接口

有一个抽象方法,用于判断学生是否符合获得奖学金的条件。

3)UniversityStudent类

继承自Student类并实现了接口,新增绩点、平均分2个成员。构造方法对所有成员赋值;一个方法输出所有成员的值。

4)主程序main方法

创建2个Student对象,分别输出他们的姓名、学号、班级等信息;根据这些信息判断是否为同一个人。

创建1个UniversityStudent对象,要求输出对象的姓名、学号、班级、绩点、平均分等信息;

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2021-06-09 16:44
    关注

    如有帮助望采纳。点击我回答右上角的【采纳】按钮。

    public class Student {
        private String name;
        private String sno;
        private String classname;
    
        public Student(){}
        public Student(String name, String sno, String classname) {
            this.name = name;
            this.sno = sno;
            this.classname = classname;
        }
    
        public String show(){
            return "姓名:"+name+",学号:"+sno+",班级:"+classname;
        }
    
        public boolean isMyself(Student stu){
            if (this.name.equals(stu.name)&&this.sno.equals(stu.sno)&&this.classname.equals(stu.classname)){
                return true;
            }
            return false;
        }
    }
    
    
    
    
    
    public interface Scholarship {
        public abstract boolean isShip();
    }
    
    
    
    
    
    public class UniversityStudent extends Student implements Scholarship{
        private int spot;
        private double avg;
    
        public UniversityStudent(String name, String sno, String classname, int spot, double avg) {
            super(name, sno, classname);
            this.spot = spot;
            this.avg = avg;
        }
    
        @Override
        public boolean isShip() {
            if (this.avg>95 && spot>9){
                return true;
            }
            return false;
        }
    
        public String show(){
            return super.show()+",绩点:"+this.spot+",平均分:"+this.avg;
        }
    }
    
    
    
    
    public class Test {
        public static void main(String[] args) {
            Student s1=new Student("小白","1001","计算机");
            Student s2=new Student("小白","1001","计算机");
            boolean flag=s1.isMyself(s2);
            if (flag){
                System.out.println("是同一个人");
            }else{
                System.out.println("不是同一个人");
            }
            UniversityStudent uStudent=new UniversityStudent("小黑","10002","通信",10,98.5);
            System.out.println(uStudent.show());
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器