类NewObject中有protected修饰的方法或者属性,则:

  • 同一个包中:

    1. 可在同一个包里的子类中实例化NewObject类获得对象,然后可用该对象访问protected修饰的方法或者属性,即.操作访问。
    2. 可在同一个包里的非子类中实例化NewObject类获得对象,然后可用该对象访问protected修饰的方法或者属性。
    3. 可在同一个包里的非子类中实例化NewObject类的子类(该子类和NewObject类在同一个包中)获得对象,然后可用该对象访问protected修饰的方法或者属性。
    4. 可在同一个包里的NewObject类的子类中调用NewObject类中protected修饰的方法或者属性,即protected修饰的方法和属性可被同一个包中的子类继承。
  • 非同一个包中:

    1. 可在非同一个包里的子类中实例化NewObject类获得对象,但无法用该对象问protected修饰的方法或者属性。
    2. 可在非同一个包里的非子类中实例化NewObject类获得对象,但无法用该对象问protected修饰的方法或者属性。
    3. 可在非同一个包里的非子类中实例化NewObject类的子类(该子类和NewObject类不在同一个包中)获得对象,但无法用该对象问protected修饰的方法或者属性。
    4. 可在非同一个包里的NewObject类的子类中调用NewObject类中protected修饰的方法或者属性,即protected修饰的方法和属性可被不同一个包中的子类继承。

package 1:

  1. BaseClass:

    package package_1;
    // 相当于NewObject类
    public class BaseClass {// protected方法protected void protectedMethod() {System.out.println("This is BaseClass");}}
  2. SubClass:

    package package_1;public class SubClass extends BaseClass {
    }
  3. MainClass:

    package package_1;public class MainClass {public static void main(String[] args) {BaseClass b1 = new BaseClass();SubClass s1 = new SubClass();b1.protectedMethod(); // 父类的protected方法可在同一个包中的其它类中被访问s1.protectedMethod(); // 子类中继承了父类的protected方法}
    }

package 2:

  1. SubClass:

    package package_2;import package_1.BaseClass;
    // 继承了不在同一个包中的父类 BaseClass
    public class SubClass extends BaseClass {public void testMesthod(){BaseClass b1 = new BaseClass();b1.protectedMethod(); // 编译器报错。父类的protected方法不可以在不同一个包中的子类中被访问this.protectedMethod(); // 子类继承了父类protected方法}
    }
  2. MainClass:

    package package_2;import package_1.*;public class MainClass {public static void main(String[] args) {BaseClass b1 = new BaseClass();b1.protectedMethod(); // 编译器报错。父类的protected方法不可以在不同一个包中的其它类中被访问SubClass s1 = new SubClass();s1.protectedMethod(); // 编译器报错。子类的protected方法不可以在不同一个包中的其它类中被访问}
    }

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

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

相关文章

wsimport 不是内部或外部命令,也不是可运行的程序或批处理文件

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 今天使用wsimport生成webservice client端代码,wsimport提示不是内部或外部命令,也不是可运行的程序或批处理文件…

静态变量的多线程同步问题

2019独角兽企业重金招聘Python工程师标准>>> 我们先来讨论一个问题,一个类的静态变量当类被多次实例化的时候,静态变量是否会受影响?首先我们应该清楚的是静态变量是在类被JVM classloader的时候分配内存,并且是分配在…

extends和implements区别

extends和implements区别 extends与implements的不同 1、在类的声明中,通过关键字extends来创建一个类的子类。 一个类通过关键字implements声明自己使用一个或者多个接口。 extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; imple…

评论:电商巨头们谁有勇气晒晒“价格战”账单?

摘要:国内电商接二连三上演的“价格战”,点燃了消费者的购买热情。在笔者看来,如果有哪个大型电商有勇气亮出价格战账单,那对竞争对手的刺激和打击效果将非同一般。晒出了账单后,消费者对购物场所的选择也将一目了然&a…

The xxx collides with a package/type

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 当类和包,重名时,包会报错误:The package aaa.a collides with a type;类也会报警告&…

Hive 行列转换

在京东众多业务中,促销业务充满了复杂性和挑战性,因为业务的灵活性,很多数据都存储成xml和json格式数据,这就要求下游数据分析师们需要对其做解析后方可使用 。 在众多操作中 ,有一种是需要对数据做行列转换操作。 数据…

[译] 论 Rust 和 WebAssembly 对源码地址索引的极限优化

原文地址:Oxidizing Source Maps with Rust and WebAssembly原文作者:Nick Fitzgerald译文出自:掘金翻译计划本文永久链接:github.com/xitu/gold-m…译者:D-kylinTom Tromey 和我尝试使用 Rust 语言进行编码&#xff0…

Java WebService 简单实例

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作。 一、准备工作&…

互联网侵入手机逐鹿背后:追求流量变现能力

摘要:小米联合创始人黎万强说,卖出10万台得免速死,卖出百万台算是得到了一张正式入行的门票。小米是一家新创公司,黎万强自己说,原本一无所有,作为原创品牌,它选择了口碑之路,则必须…

java api使用ElastichSearch指南

AggregationBuilders.terms:一段时间内,某个字段取值的数量排名前几的聚合 / ** param startTime 开始的时间* param endTime 结束的时间* param termAggName term过滤* param fieldName 要做count的字段* param top 返回的数量*/ RangeQueryBuilder actionPeriod …

关于JavaScript的数组随机排序

昨天了解了一下Fisher–Yates shuffle费雪耶兹随机置乱算法,现在再来看看下面这个曾经网上常见的一个写法: function shuffle(arr) { arr.sort(function () { return Math.random() - 0.5; }); } 或者使用更简洁的 ES6 的写法: function shu…

通用唯一识别码UUID

UUID是通用唯一识别码(Universally Unique Identifier)的缩写。UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与…

java内省机制 + 内省是什么 + 内省实现方式 + 和反射的区别

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 一、内省是什么、实现方式: 内省(Introspector)是Java语言对Bean类属性、事件的一种缺省处理方法。…

百度联合长虹发布第二款云手机 售价900元以下

摘要:【搜狐IT消息】5月15日消息,百度今天宣布联合长虹发布第二款智能手机,采用3.5英寸屏幕、300万像素摄像头,650MHz主频处理器,零售价格在700-899元之间,中国联通将为其提供话费补贴。 【搜狐IT消息】5月…

vmware workstation17环境安装centos7

打开控制面板,搜索“服务”,启动vmware authorize service -------解决无法开启虚拟机问题之无法连接MKS 2.虚拟机硬盘扩展为15G------解决安装centos7时出现的“检查存储配置出错”问题 3.硬盘分区----/boot 300mb(不能小于200mb&#xff0…

博客园中的源代码格式显示

昨天写了一篇文章,但是在写的时候呢,没有注意,直接将代码复制上去了,今天正好有人提醒,看到了格式的混乱,借此记录整理一下,如何能直接粘贴代码,而且格式(缩进&#xff0…

static的使用

类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,为了节省系统内存开销、共享资源,应该对一些适合使用static的变量声明为静态变量。 变量声明为static的使用场景: (1)变量所…

Linux内核的裁剪和移植

linux内核的裁剪和移植具体都在这个网址里面。https://blog.csdn.net/xie0812/article/details/10816059https://blog.csdn.net/xie0812/article/details/10821779转载于:https://blog.51cto.com/13401435/2145947

李开复唱衰互联网手机:大部分公司会失败

摘要:互联网企业和手机制造企业之间巨大的鸿沟也被李开复鲜明地指出来:“两个产业差别巨大,企业基因不同。”百度此前也坦诚表示,与长虹合作的千元机,主要是针对2000元以下的用户体验,不能与四五千元的苹果…

【POJ】3268 Silver Cow Party

题目链接:http://poj.org/problem?id3268 题意 :有N头奶牛,M条单向路。X奶牛开party,其他奶牛要去它那里。每头奶牛去完X那里还要返回。去回都是走的最短路。现在问这里面哪头奶牛走的路最长。 题解:对每个奶牛i与X做…