当前位置: 首页 > news >正文

java练习题之多态练习

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 对象,并打印某个月的工资。

相关文章:

java练习题之多态练习

1&#xff1a;关于多态描述错误的是(D) A. 父类型的引用指向不同的子类对象 B. 用引用调用方法&#xff0c;只能调用引用中声明的方法 C. 如果子类覆盖了父类中方法&#xff0c;则调用子类覆盖后的方法 D. 子类对象类型会随着引用类型的改变而改变 2&#xff1a;class Supe…...

[原创][R语言]股票分析实战[4]:周级别涨幅趋势的相关性

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ联系: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、D…...

esp32使用lvgl,给图片取模显示图片

使用LVGL官方工具。 https://lvgl.io/tools/imageconverter 上传图片&#xff0c;如果想要透明效果&#xff0c;那么选择 输出格式C array&#xff0c;点击Convert进行转换。 下载.c文件放置到工程下使用即可。...

R语言使用scitb包10分钟快速绘制论文基线表

scitb包目前进行了升级到1.7版本了&#xff0c;我做了一个操作视频&#xff0c;如何快速绘制基线表。 scitb包绘制基线表 可以配套看下我的关于scitb包文章理解一下 scitb包1.6版本发布&#xff0c;一个为制作专业统计表格而生的R包...

类和对象

1 类定义&#xff1a; class ChecksumAccumulator {// class definition goes here } 你就能创建 ChecksumAccumulator 对象&#xff1a;new CheckSumAccumulator 注&#xff1a;1scala类中成员默认是public类型&#xff0c;若设为私有属性则必须加private关键字。在scala中是…...

Py之tensorflow-addons:tensorflow-addons的简介、安装、使用方法之详细攻略

Py之tensorflow-addons&#xff1a;tensorflow-addons的简介、安装、使用方法之详细攻略 目录 tensorflow-addons的简介 tensorflow-addons的安装 tensorflow-addons的使用方法 1、使用 TensorFlow Addons 中的功能&#xff1a; tensorflow-addons的简介 TensorFlow Addon…...

STM32G4x FLASH 读写配置结构体(LL库下使用)

主要工作就是把HAL的超时用LL库延时替代&#xff0c;保留了中断擦写模式、轮询等待擦写&#xff0c;我已经验证了部分。 笔者用的芯片为STM32G473CBT6 128KB Flash&#xff0c;开环环境为CUBEMXMDK5.32&#xff0c;因为G4已经没有标准库了&#xff0c;笔者还是习惯使用标准库的…...

【AI提示词人物篇】创新艺术未来,让科技改变想象空间

AI 绘画学习难度和练习技巧 学习绘画的技巧 学习能难度&#xff1a; 外貌特征&#xff1a;AI需要学习识别和理解各种外貌特征&#xff0c;如发型、肤色、眼睛颜色等。这可能需要大量的训练数据和复杂的模型架构。 镜头提示&#xff1a;AI需要学习理解不同镜头提示的含义&…...

登录shell与非登录shell、交互式与非交互式shell的知识点详细总结

一、登录shell与非登录shell 1.登录shell定义&#xff1a;指的是当用户登录系统时所取的那个shell&#xff0c;登录shell属于交互式shell。 登陆shell通常指的是&#xff1a;用户通过输入用户名/密码&#xff08;或证书认证&#xff09;后启动的shell.例如&#xff1a; 当时…...

【教学类-42-02】20231224 X-Y 之间加法题判断题2.0(按2:8比例抽取正确题和错误题)

作品展示&#xff1a; 0-5&#xff1a; 21题&#xff0c;正确21题&#xff0c;错误21题42题 。小于44格子&#xff0c;都写上&#xff0c;哪怕输入2:8&#xff0c;实际也是5:5 0-10 66题&#xff0c;正确66题&#xff0c;错误66题132题 大于44格子&#xff0c;正确66题抽取44*…...

轻量Http客户端工具VSCode和IDEA

文章目录 前言Visual Studio Code 的插件 REST Client编写第一个案例进阶&#xff0c;设置变量进阶&#xff0c;设置Token IntelliJ IDEA 的 HTTP请求构建http脚本HTTP的环境配置结果值暂存 前言 作为一个WEB工程师&#xff0c;在日常的使用过程中&#xff0c;HTTP请求是必不可…...

机器学习或深度学习的数据读取工作(大数据处理)

机器学习或深度学习的数据读取工作&#xff08;大数据处理&#xff09;主要是.split和re.findall和glob.glob运用。 读取文件的路径&#xff08;为了获得文件内容&#xff09;和提取文件路径中感兴趣的东西(标签) 1&#xff0c;“glob.glob”用于读取文件路径 2&#xff0c;“.…...

Rust 生命周期

Rust 第17节 生命周期 先看一段错误代码 /* //一段错误的代码 // Rust 编译时会报错&#xff1b; */let r;{let x 5;r &x;}println!("{}",r);Rust 在编译时使用 借用检查器&#xff0c; 比较作用域来检查所有的借用是否合法&#xff1b; 很明显&#xff1b;r…...

【论文解读】CNN-Based Fast HEVC Quantization Parameter Mode Decision

时间&#xff1a;2019 年 级别&#xff1a;SCI 机构&#xff1a;南京信息工程大学 摘要 随着多媒体呈现技术、图像采集技术和互联网行业的发展&#xff0c;远程通信的方式已经从以前的书信、音频转变为现在的音频/视频。和 视频在工作、学习和娱乐中的比例不断提高&#xff0…...

在Linux上安装CLion

本教程将指导你如何在Linux系统上安装CLion&#xff0c;下载地址为&#xff1a;https://download.jetbrains.com.cn/cpp/CLion-2022.3.3.tar.gz。以下是详细的安装步骤&#xff1a; 步骤1&#xff1a;下载CLion 首先&#xff0c;你需要使用wget命令从提供的URL下载CLion的tar…...

R语言贝叶斯网络模型、INLA下的贝叶斯回归、R语言现代贝叶斯统计学方法、R语言混合效应(多水平/层次/嵌套)模型

目录 ㈠ 基于R语言的贝叶斯网络模型的实践技术应用 ㈡ R语言贝叶斯方法在生态环境领域中的高阶技术应用 ㈢ 基于R语言贝叶斯进阶:INLA下的贝叶斯回归、生存分析、随机游走、广义可加模型、极端数据的贝叶斯分析 ㈣ 基于R语言的现代贝叶斯统计学方法&#xff08;贝叶斯参数估…...

多维时序 | Matlab实现PSO-GCNN粒子群优化分组卷积神经网络多变量时间序列预测

多维时序 | Matlab实现PSO-GCNN粒子群优化分组卷积神经网络多变量时间序列预测 目录 多维时序 | Matlab实现PSO-GCNN粒子群优化分组卷积神经网络多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 Matlab实现PSO-GCNN粒子群优化分组卷积神经网络多…...

Oracle 学习(1)

Oracle简介 Oracle是殷墟&#xff08;yīn Xu&#xff09;出土的甲骨文&#xff08;oracle bone inscriptions&#xff09;的英文翻译的第一个单词&#xff0c;在英语里是“神谕”的意思。Oracle公司成立于1977年&#xff0c;总部位于美国加州&#xff0c;是世界领先的信息管…...

华为HCIA认证H12-811题库新增

801、[单选题]178/832、在系统视图下键入什么命令可以切换到用户视图? A quit B souter C system-view D user-view 试题答案&#xff1a;A 试题解析&#xff1a;在系统视图下键入quit命令退出到用户视图。因此答案选A。 802、[单选题]“网络管理员在三层交换机上创建了V…...

Nginx Unit 1.27.0 发布

目录 介绍 更新内容 将 HTTP 请求重定向到 HTTPS 为纯路径 URI 提供可配置的文件名 完整的更新日志 其他 平台更新 介绍 Nginx Unit 是一个动态应用服务器&#xff0c;能够与 Nginx Plus 和 Nginx 开源版并行或独立运行。Nginx Unit 支持 RESTful JSON API&#xff0c;…...

3个简单步骤,用SMUDebugTool彻底解决AMD Ryzen系统稳定性问题

3个简单步骤&#xff0c;用SMUDebugTool彻底解决AMD Ryzen系统稳定性问题 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: htt…...

Dropout、DropConnect、Standout...12种正则化变种,到底该用哪个?一份给炼丹师的避坑指南

Dropout变种全景指南&#xff1a;从理论到实战的12种策略深度解析 当你的神经网络在验证集上表现不佳时&#xff0c;第一个跳入脑海的解决方案是什么&#xff1f;对于大多数从业者来说&#xff0c;Dropout无疑是正则化工具箱中的首选武器。但你是否知道&#xff0c;标准Dropout…...

Exo分布式AI集群架构深度解析:多节点选举与容错机制实现原理

Exo分布式AI集群架构深度解析&#xff1a;多节点选举与容错机制实现原理 【免费下载链接】exo Run your own AI cluster at home with everyday devices &#x1f4f1;&#x1f4bb; &#x1f5a5;️⌚ 项目地址: https://gitcode.com/GitHub_Trending/exo8/exo Exo是一…...

LiTmall:如何用Spring Boot + Vue + 微信小程序构建高效开源电商系统?

LiTmall&#xff1a;如何用Spring Boot Vue 微信小程序构建高效开源电商系统&#xff1f; 【免费下载链接】litemall linlinjava/litemall: LiTmall 是一个基于Spring Boot MyBatis的轻量级Java商城系统&#xff0c;适合中小型电商项目作为基础框架&#xff0c;便于快速搭建…...

51单片机(九)—— 数码管动态扫描原理与实现

1. 数码管动态扫描原理揭秘 第一次接触多位数码管显示时&#xff0c;我盯着电路板百思不得其解&#xff1a;明明只有8个数据引脚&#xff0c;怎么能同时控制8位数码管显示不同内容&#xff1f;直到理解了动态扫描原理&#xff0c;才恍然大悟这背后的精妙设计。动态扫描本质上是…...

matlab程序,傅里叶变换,频域数据,补零与不补零傅里叶变换

软件复制到浏览器下载&#xff1a;https://wwb.lanzouw.com/b02cila0j密码:cv10在导入数据前需明确是否勾选“加速度数据尾部补0,长度变为2的n次方”&#xff0c;如果输入数据点数是2 的整数倍&#xff0c;则可以直接使用 FFT 算法进行快速傅里叶变换&#xff0c;计算效率和变换…...

终极Ponzu数据迁移指南:快速掌握内容导入导出和批量操作技巧

终极Ponzu数据迁移指南&#xff1a;快速掌握内容导入导出和批量操作技巧 【免费下载链接】ponzu Headless CMS with automatic JSON API. Featuring auto-HTTPS from Lets Encrypt, HTTP/2 Server Push, and flexible server framework written in Go. 项目地址: https://git…...

AI Agent岗位需求暴涨986%,年薪达19万美元,新职业“Agent师“横空出世!

Sam Altman和Dario Amodei先后押注同一件事&#xff1a;第一家"一人十亿美元公司"将在2026年出现。与此同时&#xff0c;AI Agent相关岗位需求一年内增长986%&#xff0c;均薪达到19万美元。一个不以编程为门槛的新职业方向&#xff0c;正在打破"做多大的事就需…...

TradingView策略优化:基于机器学习的智能交易系统设计与实现

TradingView策略优化&#xff1a;基于机器学习的智能交易系统设计与实现 【免费下载链接】TradingView Start your trading journey with this projects advanced stop loss/take profit generator, enhancing your TradingView strategy. Utilize sklearns machine learning a…...

倩女幽魂易语言源码|支持编译运行,适合易语言开发者学习研究

温馨提示&#xff1a;文末有联系方式【标一】可编译倩女幽魂易语言源码开放 本套源码基于易语言开发&#xff0c;已完成基础环境配置与编译测试&#xff0c;生成的程序可正常启动并执行核心逻辑。 适用于熟悉易语言语法、掌握API调用与内存读写技术的开发者。【标二】仅面向具备…...