Java的继承类,。()!

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

给你写在一个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


public class Person {
    private String name;
    private Integer age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
}
import java.util.List;

public class Student extends Person{
    private Integer no;
    private String name;
    private List<String> subjects;
    public Integer getNo() {
        return no;
    }
    public void setNo(Integer no) {
        this.no = no;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public List<String> getSubjects() {
        return subjects;
    }
    public void setSubjects(List<String> subjects) {
        this.subjects = subjects;
    }
}

import java.util.ArrayList;
import java.util.List;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student zhang3 = new Student();
        zhang3.setName("张三");
        zhang3.setAge(21);
        zhang3.setNo(38);
        
        List<String> subjects = new ArrayList<String>();
        subjects.add("语文");
        subjects.add("数学");
        zhang3.setSubjects(subjects);
        
        System.out.println(zhang3.getName());
        //...其它输出
    }

}