资讯专栏INFORMATION COLUMN

有关protected修饰符的访问权限

james / 3334人阅读

摘要:想必大家能够理解修饰符修饰的成员能够被本类与同包下的类访问,对于能被本类访问的意思在此不作解释十分容易理解。而不同包下的非子类却不能够访问。

    在四种访问权限修饰符中,接触最少的就是protected,很多人对protected的解释含糊不清,那么被protected修饰符修饰的成员变量和方法是能够被子类访问到底是一个什么意思。

    想必大家能够理解protected修饰符修饰的成员能够被本类与同包下的类访问,对于 能被本类访问 的意思在此不作解释(十分容易理解)。

首先来解释一下什么是 能被同一个包下的类访问

    创建一一个 在test1包下的类Test1,其中有两个被protected修饰的String类型的属性,其中一个是静态的

    在test1包下创建另一个类 Test3,在该类中创建Test1对象,发现不论是否经过static的修饰,变量string 和string1 在Test3类中都能够访问到。

 

    经过简单的解释大家也很容易理解在 同一个包下可以被访问  是个什么意思。

    那么接下来的问题就十分有意思,大家都知道子类可以访问父类中被protected修饰的成员(成员属性以及成员方法)。对于在同一个包下的子类一定能够访问到父类中被protected修饰的成员,这很好理解就不作解释,那么对于不同包下的子类是一个什么情况呢

此时在test2包下创建一个类Test2,该类继承了Test1,先创建类Test2和类Test1的两个对象

通过对象访问其被protected修饰的属性string 发现子类Test2对象能够成功访问到string,而无法通过父类Test1的对象访问到string,这是什么原因呢?

用官方文档的意思来解释 :子类继承其父类的所有公共和受保护成员

所以能够被子类访问的意思是指,子类可以通过继承的方式来访问父类中被protected修饰的属性,而不能通过创建父类对象的方式去访问。

另外要注意的是:如果父类中被protected修饰的属性同时被static关键字修饰,那么我们是可以在不同包下的子类通过 父类名.属性名的方式去访问该属性。而不同包下的非子类却不能够访问。

 欢迎大佬批评指正!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/120945.html

相关文章

  • Java反射机制

    摘要:反射机制前言更多文章请一步本人博客网页版的的离线版什么是反射机制反射是语言的一个特性,它允程序在运行时注意不是编译的时候来进行自我检查并且对内部的成员进行操作。这个构造器就是用的反射在动态加载的时候来获取的中类的属性的。 Java反射机制 前言 更多文章请一步本人博客https://chenjiabing666.github.io/ 网页版的jdk的API 离线版API 什么是反射...

    wua_wua2012 评论0 收藏0
  • C++基础语法(五)继承——万字总结,干货满满

    摘要:继承方式继承方式限定了基类成员在派生类中的访问权限,包括公有的私有的和受保护的。所以子类给父类引用赋值也是可以的,相当于给子类对象中继承的父类部分起了别名。如图成员函数也是如此,当子类与父类具有函数名相同的函数时,还是符合就近原则。 ...

    smartlion 评论0 收藏0
  • Java™ 教程(类的更多方面)

    类的更多方面 本节介绍依赖于使用对象引用的类的更多方面以及你在前面的对象部分中了解到的点运算符。 从方法返回值 方法返回到调用它的代码。 完成方法中的所有语句。 到达return语句。 或抛出异常(稍后介绍)。 以先发生者为准。 你在方法声明中声明方法的返回类型,在方法体内,使用return语句返回值。 声明为void的任何方法都不返回值,它不需要包含return语句,但它可能会这样做,在这种...

    shinezejian 评论0 收藏0
  • Java编程基础11——面向对象_包&权限修饰符&匿名内部类

    摘要:外部类要访问内部类的成员,必须创建对象。前提存在一个类或者接口这里的类可以是具体类也可以是抽象类。 1.package关键字的概述及作用(了解) A:为什么要有包 将字节码(.class)进行分类存放 包其实就是文件夹 B:包的概述 举例: 学生:增加,删除,修改,查询 老师:增加,删除,修改,查询 ... 方案1:按照功能分 com.heima.add ...

    Bryan 评论0 收藏0
  • 第五章-Java修饰符#yyds干货盘点#

    摘要:修饰符包包的概述和使用其实就是文件夹作用对类进行分类管理包的定义格式格式包名多级包用分开范例带包的类编译和执行手动建包按照以前的格式编译文件手动创建包建立文件夹然后在下建立文件夹把文件放到包的最里面把文件放到下的这个文件夹下带包 1 修饰符1.1 包1.1.1 包的概述和使用其实就是文件夹作用:对类进行分类管理...

    caspar 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<