JavaSE基础知识分享(八)

写在前面

前面讲的是java中集合这部分的内容,今天给大家发一个上期题目参考答案!

Person类:

package com.shujia.TiMu_1000.ten2.Ti15;

/**
 * @author cjy
 * @create 2024-08-07-20:47
 */
public abstract class Person {
    private String name;
    private int age;
    private String gender;

    public Person() {
    }

    public Person(String name, int age, String gender) {
        this.name = name;
        this.age = setAge(age);
        this.gender = gender;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    private int setAge(int age) {
        if (age < 0) {
            System.out.println("年龄输入错误,默认为0");
            return 0;
        }
        return age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", gender='" + gender + '\'' +
                '}';
    }

    @Override
    protected void finalize() throws Throwable {
        try {
            System.out.println("对象 " + name + " 正在被销毁");
        } finally {
            super.finalize();
        }
    }

    public void increaseAge(int age) {
        if (age > 0 && setAge(this.age) != 0) {
            this.age += age;
        } else {
            System.out.println("你增加的年龄为负数,不能增加!");
        }
    }

    public abstract String speak();
}

School类:

package com.shujia.TiMu_1000.ten2.Ti15;

/**
 * @author cjy
 * @create 2024-08-07-21:05
 */
public class School {
    public Person[] people;

    public School() {
    }

    public School(int size) {
        people = new Person[size];
    }

    public void print(int index) {
        if (index >= 0 && index < people.length && people[index] != null) {
            System.out.println(people[index].speak());
        } else {
            System.out.println("索引超出范围或对象为空");
        }
    }
}

Student类:

package com.shujia.TiMu_1000.ten2.Ti15;

/**
 * @author cjy
 * @create 2024-08-07-20:58
 */
public class Student extends Person{
    private String studentId;

    public Student() {
    }

    public Student(String name, int age, String gender, String studentId) {
        super(name, age, gender);
        this.studentId = studentId;
    }

    public String getStudentId() {
        return studentId;
    }

    public void setStudentId(String studentId) {
        this.studentId = studentId;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + getName() + '\'' +
                ", age=" + getAge() +
                ", gender='" + getGender() + '\'' +
                ", studentId='" + studentId + '\'' +
                '}';
    }

    @Override
    public String speak() {
        return getName()+"正在学高数!!";
    }

}

Teacher类:

package com.shujia.TiMu_1000.ten2.Ti15;

/**
 * @author cjy
 * @create 2024-08-07-21:04
 */
public class Teacher extends Person implements Smoking{
    public Teacher() {
    }

    public Teacher(String name, int age, String gender) {
        super(name, age, gender);
    }



    @Override
    public String speak() {
        return getName()+"正在教高数!!";
    }

    @Override
    public void smoking() {
        System.out.println(getName()+"正在吸烟");
    }

    public void preparing(){
        System.out.println(getName()+"正在备课");
    }
}


Test类:

package com.shujia.TiMu_1000.ten2.Ti15;

/**
 * @author cjy
 * @create 2024-08-07-21:01
 */
public class Test {
    public static void main(String[] args) {

//        Person p4 = new Person("小明",21,"男");
//        System.out.println(p4.toString());

//        Person p4 = new Person("小明", 20, "男");
//        System.out.println(p4.toString());
//        System.out.println("================================");
//        p4.increaseAge(2);
//        System.out.println(p4.toString());

//        Student p1 =new Student("李子杰",23,"男","1001");
//        System.out.println(p1.toString());


        Student p1 =new Student("李子杰",23,"男","1001");
        Student p2 =new Student("尤海涛",22,"男","1002");
        Teacher p3 =new Teacher("黄崇涛",21,"男");
        School s1 = new School(3);
        s1.people[0] = p1;
        s1.people[1] = p2;
        s1.people[2] = p3;
        System.out.println(p1.speak());
        System.out.println(p2.speak());
        System.out.println(p3.speak());
        Teacher t1 = (Teacher)  s1.people[2];
        t1.preparing();

//
//        p3.smoking();

    }
}


抽烟接口:

package com.shujia.TiMu_1000.ten2.Ti15;

/**
 * @author cjy
 * @create 2024-08-08-20:15
 */
public interface Smoking {
    abstract void smoking();
}

好了,今天的分享就结束了。答案也是仅供参考,不代表最终答案,如果有错误或更简单的方法,欢迎在下面留言!!

posted @ 2024-08-16 21:44  ikestu小猪  阅读(16)  评论(0编辑  收藏  举报