protected修饰符讲解、java中继承的特点-java se进阶 day01

news/2024/12/25 16:17:27/文章来源:https://www.cnblogs.com/zhishi6/p/18630757

1.protected权限修饰符的介绍

之前在说权限修饰符时候,没有细说protected,今天,我们就来聊聊protected
如图,protected修饰符中,“不同包的子类”是我们要理解的

我们在不同的包下创建一个Fu类和一个Zi类,然后在Zi类的同一个包中创建一个test类

Zi类继承Fu类,然后test不继承,仅用于测试

在test类里,创建Zi对象,发现无法调用Zi继承到的Fu类的show方法

这是因为,Fu类和test类属于无关类,show方法被protected修饰,最远范围也只能在不同包下的子类进行调用,在test里面调用超出了范围

所以,“不同包下的子类”就是指只能在Zi类范围里调用被protected修饰的成员,超出Zi类范围的地方都不行

如图,我们先在Zi范围里写了一个method,method再调用show就不会报错,然后如果想在其他地方调用show方法,就必须通过method方法来调用

我们会发现protected使用起来十分麻烦,而在现实编程,protected用的也很少,大部分使用的是public和private

2.java中继承的特点

支持单继承,而不支持多继承就是说一个类只能继承一个类,而不能同时继承多个类。

很好理解,一个人只能有一个亲爸,不可能有多个亲爸

java中不支持多继承的原因是防止程序逻辑混乱,假如支持多继承


两个父类中都有method方法,并且各自给出的逻辑都不同,这时,程序就无法判断该使用哪一个父类给出的method方法

支持多层继承就是说,A类继承B,B类继承C,可以理解为爷爷、爸爸、孙子

如图,B继承了A,而C又继承了B,所以A是爷爷,B是爸爸,C是孙子

c调用method方法,A与B属于子父类,所以B中的method方法就把A的method

方法重写,此时c调用的就是B重写的method方法,不会有逻辑错误

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

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

相关文章

Spring Boot和Spring Cloud

1.Srping Boot SpringBoot是一款基于JAVA的开源框架。目的是为了简化Spring应用搭建和开发流程。是目前比较流行,大中小型企业常用的框架。 SpringBoot核心原理是自动装配(自动配置)。 在这之前,开发一个JavaWeb,Spring等项目要进行很多配置,使用了SpringBoot就不用在过多…

『玩转Streamlit』--上传下载文件

在Web应用中,文件的上传下载是交互中不可缺少的功能。 因为在业务功能中,一般不会只有文字的交互,资料或图片的获取和分发是很常见的需求。 比如,文件上传可让用户向服务器提交数据,如上传图片分享生活、提交文档用于工作协作等,丰富应用功能。 而文件下载则使用户能获取…

renben-openstack-制作镜像操作

openstack镜像制作(用虚拟机192.168.124.6) 制作centos7镜像,OpenStack支持qcow2 ios等多种镜像规格 (1)创建镜像的硬盘 (2)删除镜像的唯一性,封装压缩 在找一个虚拟机,专门用来做镜像,需要开启虚拟化yum install -y libvirt qemu-kvm libguestfs-toolsqemu-img crea…

iPhone获取设备UDID,安装测试包

一、Safari访问获取udid网址 使用 iOS 设备的 Safari 浏览器打开 http://www.betaqr.com.cn/udid 二、安装证书 打开链接后,点击“获取UDID”三、手机配置 打开“设置” -> “通用”四、安装证书 点开证书之后五、获取UDID 安装证书之后,切换到Safari,长按出现的UDID复制…

Cursor - AI代码编辑器的使用指南

Cursor 是一个强大的 AI 代码编辑器,提供了多种功能来提升您的编程效率。本文将详细介绍如何使用 Cursor 及其主要功能,帮助您更好地利用这个工具。 1. 自动完成功能 Cursor 包含强大的自动完成功能,通过 Tab 键补全代码,可预测您的下一次编辑。启用后,它始终处于打开状态…

PbootCMS 模板常用的if条件判断语句

问题:PbootCMS模板常用的if条件判断语句。 答案:导航高亮:html{pboot:if([nav:scode]=={sort:tcode})}class="active"{/pboot:if}判断有无子菜单:html{pboot:if([nav:soncount]>0)}...{/pboot:if}二级栏目循环判断:html{pboot:nav} <li><a href=&qu…

秸秆焚烧智能监测摄像机

秸秆焚烧智能监测摄像机可以通过设置监测区域和参数,实现对秸秆焚烧情况的自动监测和报警。一旦系统检测到异常情况,比如秸秆燃烧量过大或燃烧产生大量烟尘,会立即发送警报通知相关部门,以便及时采取控制措施。秸秆焚烧智能监测摄像机可以广泛应用于农村地区的秸秆焚烧场所…

中小企业 CRM 解决方案排名:性价比之选

在如今竞争白热化的商业环境中,应用CRM系统(客户关系管理系统)可以帮助中小企业降本增效。有效的客户管理能帮助企业精准把握市场脉搏,提升客户满意度,减少客户流失,为企业的长远发展提供稳定动力。 本文从中小企业对CRM的具体需求出发,介绍4家适合中小企业的CRM供应商,…

在CAD文件中存储扩展数据

基础知识:根据CAD官方的资料看来,Database作为一个CAD文件数据库的根对象,其包含10个子对象:九大符号表(SymbolTable)和命名对象词典(NamedObjectsDictionary)。 这10个子对象属于整个数据库内的最高层级,直属于Database。除这10个子对象以外,所有DBObject对象都必须…

人员聚集监测识别摄像机

人员聚集监测识别摄像机可以通过高清晰度的摄像头和先进的人脸识别技术,准确地识别出人群中的个体,并记录下他们的行踪和行为。在人员密集的场所,如商场、车站、体育场馆等,这种摄像机能够帮助安保人员更好地掌握人员活动的情况,及时发现异常情况,有效应对突发事件。除了…

CS61B srping 2018 lab03 https://sp18.datastructur.es/

Unit Testing with JUnit, Debugging 准备 装好 CS61B插件(emmmmm,不装也没事) 把lab2 的IntList.java 复制到 lab3/IntList 文件夹. 看看关于测试的课程视频 介绍 啊? JUnit是java测试框架,现在要用JUnit进行单元测试,单元Unit就是把程序分成小块的单元,一个单元的功…

摄像机实时接入分析平台视频分析网关:如何评估视频分析系统的性能?

在当今这个数字化、智能化快速发展的时代,视频分析系统已成为安全监控、交通管理、商业智能等多个领域不可或缺的技术支撑。这些系统的性能评估对于确保其有效性和可靠性至关重要。以下是对视频分析系统性能评估的关键指标和方法的详细探讨,这些评估将帮助我们深入了解系统的…