首页 > 编程语言 >JavaSE基础知识分享(八)

JavaSE基础知识分享(八)

时间:2024-08-16 21:49:23浏览次数:8  
标签:String gender age 基础知识 println JavaSE 分享 public name

写在前面

前面讲的是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();
}

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

标签:String,gender,age,基础知识,println,JavaSE,分享,public,name
From: https://www.cnblogs.com/cjybigdatablog/p/18363673

相关文章

  • 3D VC基础知识与应用场景
     ......
  • 文献分享: DiskANN查询算法的复杂度下界
    文章目录0.写在前面0.1.预备知识0.2.一些记号0.3.本文的研究概述1.DiskANN\text{DiskANN}DiskANN回顾1.0.Intro1.1.......
  • 文心快码 Baidu Comate 前端工程师观点分享:文心快码 Baidu Comate效果怎么样(一)
    本系列视频来自百度工程效能部的前端研发经理杨经纬,她在由开源中国主办的“AI编程革新研发效能”OSC源创会·杭州站·105期线下沙龙活动上,从一款文心快码(BaiduComate)前端工程师的角度,分享了关于智能研发工具本身的研发历程和理念。以下视频是关于【文心快码BaiduComate效......
  • 【后台体验】运营后台订单详情设计分享
    1.共享图书平台运营后台订单详情  设计心路历程:产品经理并没有要求如何展示,仅提供想要看的内容,所以自由发挥如图......
  • python的基础知识入门
    一.初聊Python为什么要学习Python?在学习Python之前,你不要担心自己没基础或“脑子笨”,我始终认为,只要你想学并为之努力,就能学好,就能用Python去做很多事情。在这个喧嚣的时代,很多技术或概念会不断兴起,我希望你能沉下心来去学习,不要急于求成,一步一个脚印。当你把某个技术学好、......
  • html5+CSS3 Canvas动画分享
    1.赛朋博客赛车动画 源码分享:<!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <title>赛车</title>  <style>    *{      margin:0;      padding:0;      bo......
  • 微信分享朋友圈单页面设置
    需求:用户在朋友圈打开分享的小程序页面,并不会真正打开小程序,而是进入一个“小程序单页模式”的页面,需要自定义单页面样式第一步:先读官方文档 分享到朋友圈|微信开放文档由官方文档可知,当进入单页面会返回一个场景值1154,判断如果是1154就展示自定义内容第二步:在......
  • 《抓娃娃》电影百度云资源下载[HD-1280P/MP4/5.28GB高清版]迅雷下载磁力分享
    《抓娃娃》便是这样一部电影,它以喜剧的形式包裹着对教育、家庭以及社会现象的深刻反思,让观众在欢笑与泪水中重新审视自我与生活。本文将从故事情节、角色塑造、主题探讨、喜剧元素以及社会意义等多个维度,全面剖析这部令人深思的电影。《抓娃娃》下载资源:c.crmuscy.site......
  • 【私有云场景案例分享①】高效的集群管理能力
    此文章来源于项目官方公众号:“AirtestProject”版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途一、前言设备的管理对企业至关重要,会影响生产效率、成本控制和竞争力。然而,企业在设备管理上面临设备数量多、设备分布广、维护成本高等挑战。DeviceKeeper设备管......
  • DS #1 基础知识
    Basic1.基本概念数据结构可以分为「逻辑结构」和「物理结构」,数据结构3要素是:逻辑结构:集合、线性、非线性(树形结构+图形结构)物理存储结构:顺式、链式、索引、散列。采用最多的是这两种结构:「顺序存储结构」、「链式存储结构」数据运算特点:有序、确定、可行有效、有输......