weixin_62351833 2021-10-10 21:33 采纳率: 50%
浏览 48
已结题

Java的继承类,。()!

定义一个人类,有姓名,年龄两个属性。在定义一个学生类用于继承人类,学生类除了继承人类的属性外,还有学生学号,姓名,班级所有课程等属性,在定义一个测试类,用于测试学生类。

  • 写回答

2条回答 默认 最新

  • CSDN专家-微编程 2021-10-10 22:30
    关注

    给你写在一个Java文件里吧,比较方便,注释说明我都写在里面了

    import java.util.ArrayList;
    import java.util.List;
    
    public class Test {
        public static void main(String[] args) {
            //定义课程
            List<String> list=new ArrayList<>();
            list.add("语文");
            list.add("数学");
            list.add("英语");
            //创建学生对象,并赋值
            Student student=new Student("张三",18,"20211010",list);
            System.out.println(student);
            }
    
    }
    //定义一个人类,有姓名,年龄两个属性
    class Person {
        private String name;
        private int age;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    
        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }
    //定义一个学生类用于继承人类,学生类除了继承人类的属性外,还有学生学号,姓名,班级所有课程等属性
    class Student extends Person{
        //姓名年龄已经继承Person类,我们没必要再定义了
        private String no;// 学号一般是长数字,或者英文前缀加数字,所以这里我们要给他String类型
        private List<String> subjects;
        public String getNo() {
            return no;
        }
        public void setNo(String no) {
            this.no = no;
        }
        public List<String> getSubjects() {
            return subjects;
        }
        public void setSubjects(List<String> subjects) {
            this.subjects = subjects;
        }
        //定义构造方法,方便Test测试类创建对象
    
        public Student(String name,int age,String no, List<String> subjects) {
            this.no = no;
            this.subjects = subjects;
            //我们是继承父类名字年龄,父类里的是私有属性如果要赋值,就需要set方法,本类私有属性大可不必
            this.setName(name);
            this.setAge(age);
        }
    
        @Override
        public String toString() {
            return "Student{" +
                    "no='" + no + '\'' +
                    ", subjects=" + subjects +
                    '}';
        }
    }
    

    测试结果如下

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 创建了问题 10月10日

悬赏问题

  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?