java12--本章作业

news2024/11/15 7:34:46

1. 第1题

public class Hello{
    public static void main(String[] args){
        Person[] persons = new Person[3];

        persons[0] = new Person("zsq", 18, "学生");
        persons[1] = new Person("zzq", 19, "大学生");
        persons[2] = new Person("zqq", 25, "研究生");

        for(int i = 0; i < persons.length; i++){
            System.out.println(persons[i].toString());
        }

        bubble(persons);
        System.out.println("");
        for(int i = 0; i < persons.length; i++){

            System.out.println(persons[i].toString());
        }

    }

    public static void bubble(Person[] persons){
        Person temp = null;
//        for(int i = 0; i < objs.length; i++){
//            if(objs[i] instanceof Person){
//                objs[i] = (Person)objs[i];
//            }
//        }
        for(int i = 0; i < persons.length - 1; i++){
            for(int j = 0; j < persons.length - i - 1; j++){
                if(persons[j].getAge() < persons[j+1].getAge()){
                    temp = persons[j];
                    persons[j] = persons[j+1];
                    persons[j+1] = temp;
                }
            }

        }

    }
}

class Person{
    private String name;
    private int age;
    private String job;

    public Person() {
    }

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

    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;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

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

中间几道题目感觉都是一个类型的,就不做了

对于father而言:

super可以访问:name,g1()

this可以访问:id,score,f1(),this.g1(),this.name 这两个漏了

对于Son而言:

super可以访问:name, id, g1(),f1()

this可以访问:name,g1(),show(),id,f1(),"aa”是无法访问到的,Grand的g1()也无法访问到

 Test,demo,rose,jack,john,jack、

注意john那边是因为属性没有动态绑定机制,哪里声明就在哪里使用

class Point{
    double x;
    double y;
    public Point(double x, double y) {
        this.x = x;
        this.y = y;
    }
}
class LabeledPoint extends Point{
    String label;
    public LabeledPoint(String label,double x, double y){
        super(x, y);
        this.label = label;
    }

这一题太棒啦,总结得很好哦!

 

 很简单,只要注意B的有参构造第一句隐藏了super()

 这题比较综合,体现了面向对象封装,继承,多态的思想,好好做诶嘿嘿

public class Hello{
    public static void main(String[] args) {
        Person[] persons = new Person[4];
        persons[0] = new Student("zhy", '女', 17, "001");
        persons[1] = new Student("zsq", '男', 22, "002");
        persons[2] = new Teacher("ljw", '女', 19, 3);
        persons[3] = new Teacher("dxy", '女', 18, 2);
//        bubble(persons);
        for(int i = 0; i < persons.length; i++){
//            System.out.println(persons[i].toString());
            show(persons[i]);
        }




    }
    public static void bubble(Person[] persons){
        for(int i = 0; i < persons.length - 1; i++){
            for(int j = 0; j < persons.length - 1 - i; j ++){
                Person temp = null;
                if(persons[j].getAge() < persons[j+1].getAge()){
                    temp = persons[j];
                    persons[j] = persons[j+1];
                    persons[j+1] = temp;
                }
            }
        }
    }

    public static void show(Person person){
        if(person instanceof Student){
            ((Student) person).study();
        }else if(person instanceof Teacher){
            ((Teacher) person).teach();
        }
    }
}
class Person{
    private String name;
    private char sex;
    private int age;

    public Person(String name, char sex, int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String play(){
        return name + "爱玩";
    }

    public void BasicInfo(){
        System.out.println("姓名:" + name + "\n年龄:" + age + "\n性别:" + sex);
    }

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

    private String stu_id;

    public Student(String name, char sex, int age, String stu_id) {
        super(name, sex, age);
        this.stu_id = stu_id;
    }

    public String getStu_id() {
        return stu_id;
    }

    public void setStu_id(String stu_id) {
        this.stu_id = stu_id;
    }

    public void study(){
        System.out.println("我承诺,我会好好学习");
    }

    @Override
    public String play() {
        return super.play() + "足球";
    }

    public void printInfo(){
        System.out.println("学生的信息:");
        super.BasicInfo();
        this.study();
        this.play();
    }

    @Override
    public String toString() {
        return "Student{" +
                "stu_id='" + stu_id + '\'' +
                '}' + super.toString();
    }
}

class Teacher extends Person{
    private int work_age;

    public Teacher(String name, char sex, int age, int work_age) {
        super(name, sex, age);
        this.work_age = work_age;
    }

    public int getWork_age() {
        return work_age;
    }

    public void setWork_age(int work_age) {
        this.work_age = work_age;
    }

    public void teach(){
        System.out.println("我承诺,我会认真教学");
    }

    @Override
    public String play() {
        return super.play() + "象棋";
    }
    public void printInfo(){
        System.out.println("老师的信息:");
        super.BasicInfo();
        this.teach();
        this.play();
    }

    @Override
    public String toString() {
        return "Teacher{" +
                "work_age=" + work_age +
                '}' + super.toString();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/594404.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【leetcode】1130. 叶值的最小代价生成树

1130. 叶值的最小代价生成树 1、问题描述2、解决方案2.1、动态规划2.1.1、问题分析2.1.2、代码实现 2.2、单调栈 1、问题描述 1130. 叶值的最小代价生成树 给你一个正整数数组 arr&#xff0c;考虑所有满足以下条件的二叉树&#xff1a; 每个节点都有 0 个或是 2 个子节点。数…

一文3000字实现基于Selenium+Python的web自动化测试框架

一、什么是Selenium&#xff1f; Selenium是一个基于浏览器的自动化测试工具&#xff0c;它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分&#xff1a;Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE&#xff1a;Firefo…

2.4 IDEA开发词频统计项目

一、词频统计准备工作 &#xff08;一&#xff09;启动集群的HDFS与Spark 启动HDFS服务 启动Spark集群 &#xff08;二&#xff09;在HDFS上准备单词文件 在master虚拟机上创建单词文件 - words.txt 将单词文件上传到HDFS指定目录/wordcount/input 二、本地模式运行Sp…

RCE漏洞演示,墨者靶场

#案列演示 打开墨者靶场&#xff0c;黑盒#命令注入执行分析 这个功能点有这么个功能&#xff0c;进行类似的像我们电脑上ping命令&#xff0c;这相当于就满足了命令&#xff0c;明显可能出现命令执行漏洞&#xff0c;可控变量和漏洞函数都存在。第一要去分析是什么操作系统&am…

批量 ping 网段的终极方法

我们分析和判定网络故障&#xff0c;如果有 10 设备&#xff0c;100 台设备&#xff0c;1000 台设备怎么办&#xff1f;一个个 ping 过去人都要疯掉了&#xff0c;这种情况在大型网络中我们有可能遇到&#xff0c;那怎么办呢&#xff1f;来听听海翎光电小编的一点看法吧&#x…

Spark写入Hive报错Mkdir failed on :com.alibaba.jfs.JindoRequestPath

1. 报错内容 23/05/31 14:32:13 INFO [Driver] FsStats: cmdmkdirs, srcoss://sync-to-bi.[马赛克].aliyuncs.com/tmp/hive, dstnull, size0, parameterFsPermission:rwx-wx-wx, time-in-ms32, version3.5.0 23/05/31 14:32:13 ERROR [Driver] ApplicationMaster: User class …

八大技术架构——升级之路

目录 一、单机架构 简介 工作原理 架构优缺点 相关软件 二、应用数据分离架构 简介 工作原理 架构优缺点 三、应用服务集群架构 简介 出现原因 工作原理 架构优缺点 相关软件 四、读写分离/主从分离架构 简介 工作原理 架构优缺点 相关软件 五、冷热分离架…

JMeter数据库性能测试指南:全面掌握基础操作

1.网络请求时间 2.数据库查询的时间 数据库性能指标 TPS:每秒事务数&#xff08;一秒钟服务器处理的事务数&#xff0c;事务指&#xff0c;请求出去到响应回来的整个过程的时间&#xff09; QPS:每秒查询量&#xff08;就是数据库每秒执行的SQL数量&#xff0c;包含insert/…

239:设置extent:bbox,限制瓦片图的加载范围,不加载空白瓦片

第239个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中加载geoserver发布的数据,这里主要介绍extent,设置bbox附加载layer上,目的是bbox在可视范围内才加载瓦片,否则不加载,好处是不用加载空白的瓦片数据。 直接复制下面的 vue+openlayers源代码,操作…

Odoo 16的docker部署以及vscode环境配置

之前一直使用Odoo源码配置开发环境&#xff0c;安装的步骤比较多&#xff0c;费时。趁着升级到16版本的机会&#xff0c;尝试使用docker快速配置Odoo的VSCode开发环境。 1 系统环境 &#xff08;1&#xff09;操作系统&#xff1a;ubuntu 20.04 Alternative downloads | Ubu…

Eclipse 教程 完结中

Eclipse 快捷键 关于快捷键 Eclipse 的很多操作都提供了快捷键功能&#xff0c;我们可以通过键盘就能很好的控制 Eclipse 各个功能&#xff1a; 使用快捷键关联菜单或菜单项使用快捷键关联对话窗口或视图或编辑器使用快捷键关联工具条上的功能按钮 Eclipse 快捷键列表可通过…

可节省60% MCU开发成本的NV080D-S8,单片机语音芯片在恒温碗上的应用

社会在不断进步&#xff0c;科技在不断发展&#xff0c;如今的恒温碗不仅带有温度显示功能&#xff0c;更附带有语音播报&#xff0c;能更好地知晓当前饭菜&#xff0c;变凉或过烫的情况&#xff0c;有效避免伤害宝宝脆弱的肠胃&#xff1b; 广州九芯电子推出了一款&#xff0c…

dynamic-datasource动态数据源学习

学习链接 spring整合mybatis的核心思路 & 数据源动态切换 & 多数据源事务控制 - 自己的链接&#xff08;本篇文章的上篇&#xff09; Mybatisplus生成代码配置 & p6spy打印sql & mybatis日志打印 & mybatisplus用法 dynamic-datasource-spring-boot-sta…

LabVIEWCompactRIO 开发指南第六章44 同步模块

同步模块 某些应用&#xff08;如振动或声音测量&#xff09;需要通道之间的高电平&#xff08;低于100nS&#xff09;同步。本节讨论基于增量Σ的模块和扫描&#xff08;SAR&#xff09;模块的时序和同步。任何未被归类为三角积分的NIC系列I/O模块都被归类为SAR。 同步增量西…

ThreadLocal源码

介绍 ThreadLocal是一个线程的本地变量&#xff0c;也就意味着这个变量是线程独有的&#xff0c;是不能与其他线程共享的。这样就可以避免资源竞争带来的多线程的问题。 但是&#xff0c;这种解决多线程安全问题的方式和加锁方式&#xff08;synchronized、Lock) 是有本质的区…

过来人建议:强烈安利本科生都去学Java编程!现在转行还不晚!

为什么标题这么说呢&#xff0c;因为Java的工资香啊&#xff0c;刚入门的小白就有 1w&#xff0c;转正后更多&#xff0c;而且越老越吃香&#xff01; 我们学一门技术在身&#xff0c;走到哪里都不怕&#xff0c;java是技术岗&#xff0c;不带销售性质&#xff0c;加班要分公司…

unity与oculus quest开发设置流程

目录 预准备quest项目的构建PC运行参考文章 版本&#xff1a; unity&#xff1a;2021 adb&#xff08;保证用USB连接PC和头显的时候能允许调试和数据访问&#xff09; macOS 当USB连接之后&#xff0c;需要带上头显将是否允许数据调试和访问的对话框选择允许。 文件中assets放…

2.6 Hello World 及简单语法规则

2.6 Hello World 及简单语法规则 新建文件夹&#xff0c;用于存放代码 新建一个Java文件 早期我们只是会建立txt文本文件&#xff0c;或者word&#xff0c;Java文件的后缀名是.java 新建Hello.java文件 // 输入Java代码public class Hello{public static void main(String[…

Vue3 小兔鲜:Pinia入门

Vue3 小兔鲜&#xff1a;Pinia入门 Date: May 11, 2023 Sum: Pinia概念、实现counter、getters、异步action、storeToRefs保持响应式解构 什么是Pinia Pinia 是 Vue 的专属状态管理库&#xff0c;可以实现跨组件或页面共享状态&#xff0c;是 vuex 状态管理工具的替代品&…

PHP7 连接数据库 MySQL8.0 报错 Call to undefined function mysqli_connect() 的解决方法

前提 如题所示使用的是PHP7的版本&#xff0c;连接MYSQL8.0数据库遇到的问题&#xff0c;提供我个人的解决办法。 我的报错是&#xff1a;Call to undefined function mysqli_connect() 首先明确 保证PHP与MySQL可以正常使用 访问localhost:80【或者你设置的端口号】是有页面…