详析java中的关键字和权限修饰

在这里插入图片描述

💡涉及的知识点速通

  • 🛫 关于关键字你都知道什么?
    • 🪂 this和super关键字
    • 🪂 instanceof关键字
    • 🪂 static关键字
    • 🪂 final关键字
  • 🛫 权限修饰符的作用范围知多少?

  各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚

🛫 关于关键字你都知道什么?

🪂 this和super关键字

属性和方法的调用
  this.属性或方法名调用当前对象中的属性或方法,如果本类中没有超类中有的话就调用超类中的,都没有的话就报错。super.属性或方法名只访问超类中的属性或方法,即使超类没有子类中有的话也会报错在这里插入图片描述构造器的调用:
  构造器的调用讲究比较大,首先构造器的调用使用的是this(参数列表)或者super(参数列表)。当子类继承超类并使用构造器进行初始化的时候,子类每一个构造器的第一行会有一行默认的隐式语句super();调用超类的无参构造器,且超类的无参构造器会先于子类构造器执行在这里插入图片描述  前面说过如果超类中只定义了一个有参构造器的话,就不会提供超类的默认无参构造器,如果此时子类再定义构造器的话构造器会默认调用超类的无参构造器,这就会产生报错。解决方案就是超类定义无参构造器,或者在子类的构造器中显式使用Super(参数列表)调用超类的有参构造器在这里插入图片描述this(参数列表)调用的是本类的构造器,super(参数列表)调用的是超类的构造器在这里插入图片描述

🪂 instanceof关键字

  a instanceof A用来判断某个实例变量a是否属于A这个类的类型,如果是的话就返回true否则返回false。instanceof 关键字的使用场景就是,在进行向下转型之前判断一下左边的对象是不是右边的子类,如果是的话才能进行类型强转,否则会出现ClassCastException异常。值得注意的是,如果 a instanceof A 返回true的话,A的父类放在右边也会返回true,但是A的子类放在右边不一定返回true。

🪂 static关键字

静态变量
  使用static修饰的变量又称为是静态变量或者类变量,静态变量的特点是通过该类创建的所有对象共享一个变量,一个对象修改静态变量的值会造成其他所有对象对该静态变量的引用值发生改变;而不使用static修饰的实例变量的特征是,每个对象之间的变量修改互不影响。
在这里插入图片描述
静态方法
  静态非静态之间的相互调用: 使用static修饰的方法又称为是静态方法,静态方法和静态变量的使用有很大的相似之处,值得注意的是,静态方法中无法调用该类的非静态方法和属性,而非静态方法可以调用静态和非静态的方法和属性。在这里插入图片描述  静态方法内部无法使用的关键字: 值得注意的是,静态方法内部无法使用this和super关键字,因为this和super都是对对象属性或方法的引用,static是随着类的加载而加载,也就是说static的加载是在对象之前的,static加载的时候还没有对象的存在,所以说此时调用会产生逻辑错误导致报错在这里插入图片描述  静态方法无法被重写覆盖: 此外比较重要的就是,static修饰的方法不能被重写覆盖,也就是说子类和超类中满足重写条件的static方法不会导致重写覆盖,使用多态调用的还是超类中的方法,与此同时private修饰的方法封装在超类中也无法被重写在这里插入图片描述  静态方法调用: 还有就是,我们都知道static修饰的方法可以使用类名直接调用,但是并不是所有的静态属性都可以直接使用类名进行调用,因为如果静态属性被private修饰的话就无法使用类名调用,所以说“静态属性可以直接用类名调用”这句话是不正确的,应该是“非私有的静态属性可以直接用类名调用”

🪂 final关键字

  修饰类:使用final修饰的类无法被其他类所继承,也就说该类不能拥有子类,比如String、System等类
  修饰方法:使用final修饰的方法无法被重写
  修饰变量:使用final修饰的“变量”的值无法修改,也就是一个常量,常量的初始化方式可以是显示初始化,代码块初始化,构造器初始化
  修饰局部变量:可以在方法体中使用final修饰一个局部“变量”,或者方法的参数使用final修饰,无论是哪一种,该局部“变量”的值都无法进行修改

🛫 权限修饰符的作用范围知多少?

  Java中一共定义了四种权限修饰符,它们按照作用范围从小到大依次是:private、缺省(default)、protected、public,其中缺省的意思就是在不使用权限修饰符的情况下就默认使用该修饰符。这四种权限修饰符可用来修饰属性、方法、构造器、内部类等结构,但是类只能使用缺省和public修饰在这里插入图片描述
  这里我以属性的调用为例,方法的效果与之相同,接下来就使用代码测试上图结论方便大家的理解。首先是属性定义的本类内部在这里插入图片描述属性定义所在类的所在package下的所有类中在这里插入图片描述属性定义所在类的不同package有继承关系的子类在这里插入图片描述属性定义所在类的不同package的普通类在这里插入图片描述

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

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

相关文章

JQ 全选后获取选中的值_Filecoin如何创建账户钱包并获取FIL测试币

昨天"猩动力节点"加入了fielcoin的测试网络,对用户或者矿工来说,如何获取代币,创建钱包保护好自己的资产,每一个用户来说都很关心。下面我们一起来学习如何创建账户钱包,并获取FIL 测试代币。在创建账户钱包…

Redis中 字符串的常用命令

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站尚硅谷的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&…

mac wmware 无网络_无线网络中常用的技术名词

1、LAN:即局域网:是路由和主机组成的内部局域网,一般为有线网络。2、WAN:即广域网:是外部一个更大的局域网。3、WLAN(Wireless LAN,即无线局域网):前面我们说过LAN是局域网,其实大多…

python界面开发webview_python在webview和activity混合页面下怎么定位

展开全部 genymotion 模拟器:android 5.0.0 python 2.7 appium 1.4.16.1 1、app原生元素定位(常用) driver.find_element_by_id(“resourse-id”32313133353236313431303231363533e59b9ee7ad9431333363393662) driver.find_element_by_name(“…

androidstudio build tools安装_Android Studio4.0 安装及配置

本来打算十一月份写的,结果。。。就在我备注原来的文章的时候,硬盘坏了。。。所以重新配置环境。。。换硬盘,。。。坏的太突然以至于数据都没有备份。。。。建议大家在参考教程安装之前先大致浏览一遍,这样安装的时候就会大致知道…

Redis 五大数据类型的常用命令——列表、集合、哈希、有序集合

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站尚硅谷的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&…

aop注解配置切点 spring_springboot aop 自定义注解方式实现一套完善的日志记录

一:功能简介本文主要记录如何使用aop切面的方式来实现日志记录功能。主要记录的信息有: 操作人,方法名,参数,运行时间,操作类型(增删改查),详细描述,返回值。二:项目结构图如果想学习…

抽象类、接口的区别和相似点

各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 💡涉及的知识点速通🛫 abs…

c标签判断true false jsp_Java学习知识点:小白如何掌握JSP技术?

今天千锋广州小编就给大家分享零基础如何掌握JSP技术,下面一起来看看吧!一、Java初级开发之jsp概述1.关于jspJavaServer Pages简称jsp,从“server”这个词可以看出,这其实也是一门java服务端技术,其实可以简单的把jsp认为是servle…

python语言保留字的特点_python保留字及其说明

原博文 2019-07-14 22:05 − 保留字 说 明 and 用于表达式运算,逻辑与操作 as 用于类型转换 assert 断言,用于判断变量或条件表达式的值是否为真 break 中断循环语句的执行 class 用于定义类 continue 继续执行下一次循环 ...011647 相关推荐 2019-12-19…

使用Java操作Redis的两种方式Jedis、RedisTemplate

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站黑马的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&#…

python提取数据库数据_Python如何读取MySQL数据库表数据

本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参考,具体内容如下 环境:Python 3.6 ,Window 64bit 目的:从MySQL数据库读取目标表数据,并处理 代码: # -*- coding: utf-8 -*- import p…

【项目实战】基于Redis实现短信验证码登录 (附源码、思路)

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站黑马的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&#…

加工中心刻字宏程序_FANUC OI系列图书——车床、铣床及加工中心编程

☞ 这是金属加工(mw1950pub)发布的第10035篇文章导读今天跟大家分享FANUC OI系列图书,包括车床、铣床及加工中心编程,快来看看吧!《FANUC 0i数控车床/加工中心编程技巧与实例》选择在企业里应用*广泛、编程*具代表性的日本FANUCSeries0i-TC/T…

Redis 的缓存策略

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站黑马的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&#…

关闭后天 树莓派_陪你一起玩树莓派-系统安装

从今天就开始我们的树莓派之旅,心情是不是有点小激动?我们拿到一个树莓派是一个裸机。我们要准备一张16G的高速TF闪存卡,一个5V/2A的USB电源和一根micro B的 usb线。装机步骤:一、下载树莓派系统1、浏览器打开树莓派官方网站 http…

简单的签到代码_PHP实现一个小小的签到功能,到底用MySQL还是Redis?

来源 | http://suo.im/5EWN3k今天,看下签到功能怎么选择?现在的网站和app开发中,签到是一个很常见的功能,如微博签到送积分,签到排行榜~微博签到如移动app ,签到送流量等活动,移动app签到用户签…

【Redis 6】缓存穿透、缓存雪崩、缓存击穿(附解决方案、代码)

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站黑马的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&#…

8软件遇到的问题及解决方法_Excel工作表中的8个常见问题,你一定遇到过,附解决方法...

在Excel工作表中,最常用的还是一些技巧,如果能够熟练掌握,对于工作效率的提高绝对不是一点点哦,结合工作实际,小编对工作中常见的问题进行了总结,一共有8类,你一定也遇到过……一、Excel工作表常…

unity着色器和屏幕特效开发秘笈_Oculus研发分享:开发移动VR内容时应避免的PC渲染技术...

查看引用/信息源请点击:映维网开发移动VR内容时应避免的PC渲染技术(映维网 2019年11月25日)有不少开发者都是以与PC相同的方式来开发Quest游戏,但这可能会导致优化性能方面出现大量困难。Oculus软件工程师特雷弗达什(T…