JavaSE(上)-Day10

JavaSE(上)-Day10

  • 多态
    • 多态中成员变量的调用
    • 多态中成员方法的调用
    • 多态的优缺点
  • final关键字
  • 权限访问修饰符
  • 代码块

多态

  1. 什么是多态:对象的多种形态
  2. 多态的前提是:有继承或实现关系;子类重写父类的方法,父类接收子类对象
  3. 多态的好处:父类作为形参时,可以接收任何的子类对象,可调用子类的重写方法

多态中成员变量的调用

  1. 编译过程看左边,运行过程也看左边

多态中成员方法的调用

  1. 编译过程看左边,运行过程看右边

多态的优缺点

  1. 当父类作为参数时,可以接收任意的子类对象
  2. 但是参数不能调用子类的特有功能
  3. 想要调用子类的特有功能需要强制类型转换
  4. 转换如果类型不一致,可能会报错,classCaseException
  5. 可以通过 参数 instanceof 子类,判断是不是可以转换成这个类,返回值为true,表示是,返回值为false表示
  6. JDK14增加了新特性,简化了代码让判断和强转一气呵成,参数 instanceof 子类 变量名,是这个子类,就会为变量名赋值

  1. 包的本质是文件夹,用于管理不同的Java类,便于代码的维护
  2. 包的书写规则是公司的域名反写+包的作用,需要全部小写,见名知意
  3. 全类名,也叫全限定名是包名+类名
  4. 如果引用的类是同一个包下,是不需要导包的
  5. 如果引用的类是java.lang下的,也是不需要导包的
  6. 如果引用的是其他包下的,是需要导包或者写全类名的
  7. 如果引用了两个不同包下的同名类,是需要使用全类名来区分的

final关键字

  1. final修饰的关键字,可以修饰类,方法,变量
  2. final修饰的类不可以被继承,如String,Math
  3. final修饰的方法,不可以被子类继承到,无法重写
  4. final修饰的变量,只能赋值一次,被称为常量,大写用下划线分隔
  5. 常量如果是基本数据类型,值不可以改变
  6. 常量如果是引用数据类型,地址值不可以改变,内存中的成员变量是可以改变

权限访问修饰符

关键字本类本包其他包子类项目
private
默认
protected
public
  1. private和public日常用的最多
  2. private主要用于修饰成员变量,一些频繁被调用的方法也会被设置为private
  3. public主要用于修饰成员方法和类

代码块

  1. 代码块分为三种,局部代码块,构造代码块,静态代码块
  2. 局部代码块在方法体内部,用于控制变量的生命周期,随着内存的增多,被淘汰了
  3. 构造代码块与成员变量同级,用于提取构造方法中的重复代码,它先于构造方法运行,局限性大,不常使用
  4. 静态代码块是用static修饰的构造代码块,用于初始化静态属性,随着字节码文件加载到元空间就执行,只能调用静态成员

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

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

相关文章

QGraphicsView实现图片放大、缩小、鼠标拖动、以鼠标点放大缩小

1. 工程配置文件 pro 1 QT core gui2 3 greaterThan(QT_MAJOR_VERSION, 4): QT widgets4 5 CONFIG c116 7 # The following define makes your compiler emit warnings if you use8 # any Qt feature that has been marked deprecated (the exact warnings9 # depend…

使用免费ChatGPT提升工作效率

ChatGPT无限次数: 点击直达 智能工作利器ChatGPT:提升工作效率 在当今信息爆炸的时代,快速高效地撰写论文对于科研工作者来说至关重要。智能工具ChatGPT的出现为我们提供了强大的支持,它不仅能够提升工作的效率,还能够帮助我们更…

Oracle 使用PLSQL 导出 一个表的insert 语句

1. 使用工具 plsql 的方法,如图示 2. 操作界面(按ctrl键鼠标可多选表) 3. 然后就看到了插入语句 原文:https://www.cnblogs.com/jinanxiaolaohu/p/9192766.html

基于直方图相似性的图像分类算法FPGA实现,包括tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 MATLAB测试结果: FPGA测试结果: 上述仿真图中,红色XX表示图像读取完毕。因此输出XX。当图像输出完成之后&…

Elasticsearch 索引模板、生命周期策略、节点角色

简介 索引模板可以帮助简化创建和二次配置索引的过程,让我们更高效地管理索引的配置和映射。 索引生命周期策略是一项有意义的功能。它通常用于管理索引和分片的热(hot)、温(warm)和冷(cold)数…

科技类媒体邀约资源有哪些?科技公司做活动如何做好宣传?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 科技类媒体邀约资源包括了各类专注于科技报道的平台和渠道,科技公司可以通过多样化的宣传策略来提升活动的影响力。 科技类媒体资源的邀约通常涉及多种不同的平台和形式&…

基于nodejs+vue高校自习室预约系统的设计与实现python-flask-django-php

本系统在设计过程中,很好地发挥了该开发方式的优势,让实现代码有了良好的可读性,而且使代码的更新和维护更加的方便,操作简单,对以后的维护减少了很多麻烦。系统的顺利开发和实现,对于高校自习室预约这一方…

命令模式(请求与具体实现解耦)

目录 前言 UML plantuml 类图 实战代码 模板 Command Invoker Receiver Client 前言 命令模式解耦了命令请求者(Invoker)和命令执行者(receiver),使得 Invoker 不再直接引用 receiver,而是依赖于…

msvcp100.dll是什么东西?电脑msvcp100.dll丢失的六种解决方法

最近,我在电脑上打开一款软件时,遇到了一个问题:找不到msvcp100.dll丢失问题,为了解决这个问题,我进行了深入的学习和研究,并在此分享msvcp100.dll丢失的解决方法。 一,msvcp100.dll是什么&…

AI:133-基于深度学习的工业质检自动化

AI:133-基于深度学习的工业质检自动化 1.背景介绍 随着工业自动化水平的不断提高,工业质检成为了一个重要的环节。传统的工业质检主要依靠人工进行,不仅效率低下,而且容易受到主观因素的影响。近年来,随着深度学习技…

Visual Studio QT6 工程引入组件模块,例如:QtXml

QT 工程引入 QtXml QT 版本 6.6.1 Visual Studio 版本 Microsoft Visual Studio Community 2022 (64 位) - Current 版本 17.7.5 打开 Visual Studio 项目工程选择 工具栏 - 扩展 - QT VS Tools -Qt Project Settings 勾选 xml 后点击确定 点击应用即可 注意:配置环…

Apache Dolphinscheduler - 执行工作流却没有创建任务实例分析

问题描述 最近碰到一个奇怪的问题,DS 创建工作流成功,但是一旦执行,始终在转,而且没有任何执行的痕迹,后来到数据库一查发现压根没创建任务实例。 我们都知道一个工作流里面可以挂多个任务节点,执行工作流…

Windows蓝牙驱动开发之模拟HID设备(二)(把Windows电脑模拟成蓝牙鼠标和蓝牙键盘等设备)

by fanxiushu 2024-03-24 转载或引用请注明原作者 接上文,当我们建立了蓝牙链接请求之后,就该传输数据了, 其实传输数据比起上章阐述的创建SDP和建立连接要简单许多。 使用类型 BRB_L2CA_ACL_TRANSFER 的BRB请求,就可以实现接收和发送操作, 至于具体是接收还是发送,根据设…

Python 全栈体系【四阶】(十九)

第五章 深度学习 一、基本理论 4. 神经网络的改进 4.3 循环神经网络 4.3.1 标准 CNN 模型的不足 假设数据之间是独立的。标准 CNN 假设数据之间是独立的,所以在处理前后依赖、序列问题(如语音、文本、视频)时就显得力不从心。这一类数据…

华为校招机试 - 计算座位最大利用数(20240320)

题目描述 一列具有 m 个座位的火车,从起点到终点共停靠 n 个站点,站点编号从 0 到 n - 1。 发车前有 x 名乘客预定了座位,因为预定数量可能超出座位数,为了保证效率最大化,请计算如何分配才能是座位利用率最大,并输出最大的座位利用数。 说明: 座位利用数定义为每个座…

iOS - Runtime-isa详解(位域、union(共用体)、位运算)

文章目录 iOS - Runtime-isa详解(位域、union(共用体)、位运算)前言1. 位域介绍1.1 思路1.2 示例 - 结构体1.3 示例 - union(共用体)1.3.1 说明 1.4 结构体 对比 union(共用体) 2. a…

【前端】代码案例

1.猜数字 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>猜数字</title> </head> <…

HS6621低功耗蓝牙SoC芯片应用于键盘鼠标和遥控器消费类产品

HS6621Cx是一款功耗优化的真正片上系统 (SOC)解决方案&#xff0c;适用于低功耗蓝牙和专有2.4GHz应用。它集成了高性能、低功耗射频收发器&#xff0c;具有蓝牙基带和丰富的外设IO扩展。HS6621Cx还集成了电源管理功能&#xff0c;可提供高效的电源管理。它面向2.4GHz蓝牙低功耗…

idea运行项目没反应【debug和run灰色】

解决方法 File->Settings->Plugins->groovy 将groovy勾选的√去掉&#xff0c;保存再重新启动idea即可。 啊啊啊码

【微服务】认识Dubbo+基本环境搭建

认识Dubbo Dubbo是阿里巴巴公司开源的一个高性能、轻量级的WEB和 RPC框架&#xff0c;可以和Spring框架无缝集成。Dubbo为构建企业级微服务提供了三大核心能力&#xff1a; 服务自动注册和发现、面向接口的 远程方法调用&#xff0c; 智能容错和负载均衡官网&#xff1a;https…