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 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事: