java练习题之多态练习

news2025/1/24 22:49:36

1:关于多态描述错误的是(D)

A. 父类型的引用指向不同的子类对象

B. 用引用调用方法,只能调用引用中声明的方法

C. 如果子类覆盖了父类中方法,则调用子类覆盖后的方法

D. 子类对象类型会随着引用类型的改变而改变

2:class Super{

public void m1(){}

public void m2(){}

   }

   class Sub extends Super{

public void m2(){}

public void m3(){}

public void m4(){}

   }

   创建对象Super s=new Sub();用s引用可以调用的方法(A B)

A.m1()      B. m2()     C. m3()     D. m4()

3:class Super{}

class Sub extends Super{}

class ClassA extends Super{}

public class TestSuper{

public static void main(String[] args){

//1

}

}

对于1处代码及对其描述错误的是(CD)

A. Super s=new Sub();

B. Sub s=new Sub();

   Super sup=s;      

   

C. Super s=new Sub();

   Sub s2=s;    强转

D. Super s=new Sub();

   ClassA c=(ClassA)s;  

4:class Super{

public int getLength(){

return 4;

}

    }

class Sub extends Super{

public long getLength(){

return 5;

}

}

public class Test{

public static void main(String[] args){

Super s1=new Super();

Super s2=new Sub();

System.out.println(s1.getLength()+"\t"+s2.getLenght());

}

}

以上程序输出的结果是(D)

  1. 4  4     B. 4  5      C.5  5    D.编译报错  父类不能调用子类独有方法

5:完成(1、2、3、4、5)处代码(要求将完整题目抄写)

  

1:public Animal(){}

public Anamal(String name){

this.name=name;

}

2:public String getName(){

return name;

}

public void setName(String name){

this.name=name;

}

       3:public Dog(){}

 public Dog(String name){

this.name=name;}

      

       4:Animal[] animal={new Dog,new Cat,new Dog,new Cat}

       int count=0;

for(int i=0;i<animal.length;i++){

if(animal[i]instanceof new Dog){

count++;

}

}

System.out.println(count);

}

6:(多态)仔细阅读以下代码,编译是否通过,如果通过,写出输出结果;如果不能通过,则如何修改?

不能通过

Sub sub=(Sub)s;

sub.method(Hello);

7:(多态)仔细阅读以下代码,写出程序运行之后输出的结果。

method() in sub

method() in super

8:(多态)仔细阅读以下代码,下列几个选项中,有哪几个放在//1 位置能够编译通过()

  1. return null;
  2. return new Animal();
  3. return new Dog();
  4. return new Cat();

9:(多态)在继承题目的基础上,定义一个 Person 类型的数组,存储多个不同类型的子类 型对象,

(1) 统计并打印输出数组中所有学生干部的个数

(2) 打印输出所有学生的信息

package com.by.homework4.person;

public class Person {
    private String name;
    private String sex;
    private int age;
    private String nationality;

    public Person() {
    }

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

    public String getName() {
        return name;
    }

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

    public String getSex() {
        return sex;
    }

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

    public int getAge() {
        return age;
    }

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

    public String getNationality() {
        return nationality;
    }

    public void setNationality(String nationality) {
        this.nationality = nationality;
    }

    public void eat(){
        System.out.println("人的吃饭方法");
    }
    public void sleep(){
        System.out.println("人的睡觉方法");
    }
    public void work(){
        System.out.println("人的工作方法");
    }
}





package com.by.homework4.person;

public class Student extends Person {
    private String school;
    private String schoolNum;
    public Student(){}

    public Student(String school, String schoolNum) {
        this.school = school;
        this.schoolNum = schoolNum;
    }

    public Student(String name, String sex, int age, String nationality, String school, String schoolNum) {
        super(name, sex, age, nationality);
        this.school = school;
        this.schoolNum = schoolNum;
    }

    public String getSchool() {
        return school;
    }

    public void setSchool(String school) {
        this.school = school;
    }

    public String getSchoolNum() {
        return schoolNum;
    }

    public void setSchoolNum(String schoolNum) {
        this.schoolNum = schoolNum;
    }

    public void work(){
        System.out.println("学生的学习方法");
    }
}



package com.by.homework4.person;

public class StudentLead extends Student {
    private String zhiwu;

    public StudentLead(){}

    public StudentLead(String zhiwu) {
        this.zhiwu = zhiwu;
    }

    public StudentLead(String school, String schoolNum, String zhiwu) {
        super(school, schoolNum);
        this.zhiwu = zhiwu;
    }

    public StudentLead(String name, String sex, int age, String nationality, String school, String schoolNum, String zhiwu) {
        super(name, sex, age, nationality, school, schoolNum);
        this.zhiwu = zhiwu;
    }

    public String getZhiwu() {
        return zhiwu;
    }

    public void setZhiwu(String zhiwu) {
        this.zhiwu = zhiwu;
    }

    public void kaihui(){
        System.out.println("学生的开会方法");
    }
}





package com.by.homework4.person;

public class Test {
    public static void main(String[]args){
        Person []person={new Student("张yi","男",18,"中国","一中","123"),
                new Student("张er","男",18,"中国","一中","123"),
                new Student("张三","男",18,"中国","一中","123"),
                new Student("张si","男",18,"中国","一中","123"),
                new Student("张wu","男",18,"中国","一中","123"),
                new Student("张liu","男",18,"中国","一中","123")};
        for(int i=0;i< person.length;i++){
            Student students=(Student) person[i];
            System.out.println(students.getName()+students.getSex()+students.getAge()+students.getNationality()
                    +students.getSchool()+students.getSchoolNum());
        }
        Student []student={new StudentLead("张yi","男",18,"中国","一中","123","团长"),
                new StudentLead("张二","男",18,"中国","一中","123","团长"),
                new StudentLead("张三","男",18,"中国","一中","123","团长"),
                new StudentLead("张四","男",18,"中国","一中","123","团长"),
                new StudentLead("张五","男",18,"中国","一中","123","团长"),
                new StudentLead("张六","男",18,"中国","一中","123","团长")};
        for(int i=0;i<student.length;i++){
            StudentLead studentLead=(StudentLead)student[i];
            System.out.println(studentLead.getName()+studentLead.getSex()+studentLead.getAge()+studentLead.getNationality()
                    +studentLead.getSchool()+studentLead.getSchoolNum()+studentLead.getZhiwu());
        }
    }
}

10:编程:在继承题目的基础上,创建一个长度为 3 的数组,里面有三个不同类型的对象, 分别打印这三个圆形、矩形、正方形的周长和面积。

11:编程:阅读以下代码,根据要求完成程序功能

(1) 在程序的 1、2、3 处填上适当的 构造方法或 get/set 方法

(2) 完成 4 处的填空:getAllDog 方法从一个 Animal 数组中挑选出所有的 Dog 对象,并把这

些对象放在一个 Dog 数组中返回

12:编程:在在继承题目的基础上,创建一个 Employee 数组,分别创建若干不同的 Employee 对象,并打印某个月的工资。

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

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

相关文章

【ONE·MySQL || 基础介绍】

总言 主要内容&#xff1a;MySQL在Centos 7下的安装&#xff08;主要学习相关指令语句&#xff0c;理解安装操作是在做什么&#xff09;、对MySQL数据库有一个基础认识。 文章目录 总言0、MySQL的安装与卸载&#xff08;Centos 7&#xff09;0.1、MySQL的卸载0.1.1、卸载不必要…

C练习题13答案

单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。) 1.结构化程序由三种基本结构组成、三种基本结构组成的算法是(A) A.可以完成任何复杂的任务 B. 只能完成部分复杂的任务 C. 只能完…

没通知就降公积金的脉脉,面试考什么?

写在前面 刚过去的周末&#xff0c;又一家神奇公司映入眼帘&#xff1a; 怎么说呢&#xff1f;自家的瓜出现在自家&#xff0c;至少说明脉脉没有跟微博似的限流。 自家做职场社交&#xff0c;就用自家帖子做全员通知&#xff0c;脉脉你就这么“降本”的吗&#xff1f;&#x1f…

【OCR识别】PaddleHub实现验证码识别

文章目录 前言无脑安装使用PaddleHub寻找预训练模型库完整代码效果图 前言 前面有篇文章介绍了 【网站验证码识别】 &#xff0c;但是其是利用 tesseract 工具的命令行来实现图片内容的识别。 这几天我突然想起&#xff0c;大学时参加百度 AI 比赛用过其 PaddleHub 框架&…

计算机网络 应用层上 | 域名解析系统DNS 文件传输协议FTP,NFS 万维网URL HTTP HTML

文章目录 1 域名系统DNS1.1 域名vsIP&#xff1f;1.2 域名结构1.3 域名到IP的解析过程域名服务器类型 2 文件传送协议2.1 FTP 文件传输协议2.2 NFS 协议2.3 简单文件传送协议 TFTP 3 万维网WWW3.1 统一资源定位符URL3.2 超文本传送协议HTTP3.2.1 HTTP工作流程3.2.2 HTTP报文结构…

flask之文件管理网页(上传,下载,搜索,登录,注册) -- 翔山 第一版

前面说要做一个可以注册&#xff0c;登录&#xff0c;搜索&#xff0c;上传下载的网页&#xff0c;初版来了 第一版主代码 from flask import request, Flask, render_template, redirect, url_for, send_from_directory import bcrypt import ossavePath os.path.join(os.ge…

17个常用经典数据可视化图表与冷门图表

数据可视化是创建信息图形表示的过程。随着可视化技术的飞速发展&#xff0c;可以利用强大的可视化工具选择合适的数据可视化图表来展示数据。以下专业人士都应该知道的一些最重要的数据可视化图表。 常见数据可视化图表 饼图 饼图是最常见和最基本的数据可视化图表之一。饼图…

VM进行TCP/IP通信

OK就变成这样 vm充当服务端的话也是差不多的操作 点击连接 这里我把端口号换掉了因为可能被占用报错了&#xff0c;如果有报错可以尝试尝试换个端口号 注&#xff1a; 还有一个点在工作中要是充当服务器&#xff0c;要去网络这边看下他的ip地址 拉到最后面

DRF从入门到精通三(反序列化数据校验源码分析、断言Assert、DRF之请求、响应)

文章目录 一、反序列化数据校验源码分析二、断言Assert三、DRF之请求、响应Request类和Response类请求中的Request 能够解析前端传入的编码格式响应中的Response能够响应的编码格式 一、反序列化数据校验源码分析 反序列化数据校验&#xff0c;校验顺序为&#xff1a;先校验字段…

动物分类识别教程+分类释义+界面展示

1.项目简介 动物分类教程分类释义界面展示 动物分类是生物学中的一个基础知识&#xff0c;它是对动物进行分类、命名和描述的科学方法。本教程将向您介绍动物分类的基本原则和方法&#xff0c;并提供一些常见的动物分类释义。 动物分类的基本原则 动物分类根据动物的形态、…

redis主从复制(在虚拟机centos的docker下)

1.安装docker Docker安装(CentOS)简单使用-CSDN博客 2.编辑3个redis配置 cd /etc mkdir redis-ms cd redis-ms/ vim redis6379.conf vim redis6380.conf vim redis6381.conf# master #端口号 port 6379#设置客户端连接后进行任何其他指定前需要使用的密码 requirepass 12345…

【SpringBoot篇】解决缓存击穿问题① — 基于互斥锁方式

文章目录 &#x1f339;什么是缓存击穿&#x1f33a;基于互斥锁解决问题&#x1f6f8;思路 &#x1f3f3;️‍&#x1f308;代码实现 &#x1f339;什么是缓存击穿 缓存击穿是指在使用缓存系统时&#xff0c;对一个热点数据的高并发请求导致缓存失效&#xff0c;多个请求同时访…

ESP8266网络相框采用TFT_eSPI库TJpg_Decoder库mixly库UDP库实现图片传送

使用ESP8266和TFT_ESPI模块来显示图片数据。具体来说&#xff0c;我们将使用ILI9431显示器作为显示设备&#xff0c;并通过UDP协议将图片数据从发送端传输到ESP8266。最后&#xff0c;我们将解析这些数据并在TFT屏幕上显示出来。在这个过程中&#xff0c;我们将面临一些编程挑战…

The Cherno C++笔记 03

目录 Part 07 How the C Linker Works 1.链接 2.编译链接过程中出现的错误 2.1 缺少入口函数 注意:如何区分编译错误还是链接错误 注意&#xff1a;入口点可以自己设置 2.2 找不到自定义函数 2.2.1缺少声明 2.2.2自定义函数与引用函数不一致 2.3 在头文件中放入定义 …

conda环境下更改虚拟环境安装路径

1 引言 在Anaconda中如果没有指定路径,虚拟环境会默认安装在anaconda所安装的目录下,但如果默认环境的磁盘空间不足&#xff0c;无法满足大量安装虚拟环境的需求&#xff0c;此时我们需要更改虚拟环境的安装路径&#xff0c;有以下两种方案&#xff1a; 方案1&#xff1a; 每次…

【贪心算法】之 摆动序列(中等题)

实际操作上&#xff0c;其实连删除的操作都不用做&#xff0c;因为题目要求的是最长摆动子序列的长度&#xff0c;所以只需要统计数组的峰值数量就可以了&#xff08;相当于是删除单一坡度上的节点&#xff0c;然后统计长度&#xff09; 这就是贪心所贪的地方&#xff0c;让峰…

Java设计模式之单例模式以及如何防止通过反射破坏单例模式

单例模式 单例模式使用场景 ​ 什么是单例模式&#xff1f;保障一个类只能有一个对象&#xff08;实例&#xff09;的代码开发模式就叫单例模式 ​ 什么时候使用&#xff1f; 工具类&#xff01;&#xff08;一种做法&#xff0c;所有的方法都是static&#xff0c;还有一种单…

Python命令行参数解析:原理、技巧与实践

文章目录 引言命令行参数解析原理命令行参数概述使用argparse模块解析命令行参数1. 创建ArgumentParser对象2. 添加命令行参数3. 解析命令行参数4. 可选参数action5. 参数的类型转换 实践示例总结结束语 引言 在Python中&#xff0c;命令行参数解析是一个重要的主题&#xff0…

【稳定检索|投稿优惠】2024年绿色能源与电网电力系统国际会议(ICGEGPS 2024)

2024年绿色能源与电网电力系统国际会议(ICGEGPS 2024) 2024 International Conference on Green Energy and Grid Power Systems(ICGEGPS) 一、【会议简介】 2024年绿色能源与电网电力系统国际会议(ICGEGPS 2024)将在宜宾盛大召开。本次会议将聚焦绿色能源与电网电力系统的最新…

Linux——缓冲区

我在上篇博客留下了一个问题&#xff0c;那个问题就是关于缓冲区的问题&#xff0c;我们发现 文件有缓冲区&#xff0c;语言有用户级缓冲区&#xff0c;那么缓冲区到底是什么&#xff1f;&#xff0c;或者该怎 么认识缓冲区&#xff1f;这篇文章或许会让你有所认识&#xff0c;…