关于protected在子类创建父类对象无法访问父类protected方法或成员

摘要:
子类中访问父类的protetcted属性或者方法,是不可以通过创建父类对象调用的。

关于protected在子类创建父类对象无法访问父类protected方法或成员第1张

子类(父类的外部包)中访问父类的protetcted属性或者方法,是不可以通过创建父类对象调用的。
注意:此处不讨论同包下的父类子类,因为同包下所有类都可访问protected属性或者方法。

请参见Java官方文档:Chapter 6. Names中的6.6.2.1. Access to a protected Member
具体例子如下:

父类C:在包c下
1 packagec;
2 public classC {
3   protected intid;
4   protected voidtest() {
5 
6 }
7 }

子类S:在包s下

1 packages;
2 importc;
3 importq;
4 importt;
5 public class S extendsC {
6 voidaccessProtected() {
7   //C中的protected仅允许其子类S内部访问
8   id = 5;
9 test();
10   //此外通过E.id访问(在C子类S的内部),则E必须是S或者S的子类(注意不是C)
11   S s = newS();
12   s.id = 6;
13 s.test();
14 
15   Q q = newQ();
16   q.id = 5;
17 q.test();
18 
19   //此外通过E.id访问(在C子类S的内部),则E必须是S或者S的子类(注意不是C)
20   //所以c.id不可访问
21   //C c = new C();
22   //c.id;
23   //c.test();
24 
25   //此外通过E.id访问(在C子类S的内部),则E必须是S或者S的子类(注意不是C)
26   //所以t.id不可访问
27   //T t = new T();
28   //t.id;
29   //t.test();
30 }
31 }

S的子类Q,包q下

packageq;
imports;
public class Q extendsS{

}

C的子类T,包t下

packaget;
importc;
public class T extendsC {

}

免责声明:文章转载自《关于protected在子类创建父类对象无法访问父类protected方法或成员》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇2.Vue技术栈开发实战-路由基础篇Core Animation 文档翻译 (第二篇)—核心动画基础要素下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

sql server 2012提示评估期已过的解决办法 附序列号

sqlserver2012提示评估期已过的解决方法:第一步:进入SQL2012配置工具中的安装中心。...

socks5代理使用和安装配置

如上图所示,选择Socks5代理的类型,然后正确填写Socks代理服务器的IP、端口、用户和密码。示例3:Firefox代理Firefox浏览器连接设置可以配置为使用Socks5代理。问题是它没有提供用户输入和密码验证项目。如上图所示,客户端的默认规则是所有应用程序都使用Socks代理,这就是为什么Firefox透明地使用Socks,而不进行任何代理设置。P...

Dapper系列之一:Dapper的入门(多表批量插入)

Dapper只是一个完全开源的代码文件。您可以在项目中的任何位置实现数据到对象ORM操作,其大小小,速度快。Dapper的优点:1。Dapper是一个轻量级ORM类。该代码是一个SQLMapper.cs文件,编译后通常约为40k dll;2.Dapper,快点,你为什么说得快?因为Dapper的速度接近IDataReader,所以列表的数据比DataTabl...

微软新一代输入法框架 TSF

目前,市场上的非微软中文输入法基本上只实现IMM框架。自Windows XP开始以来,Windows提供了一个基于COM的新输入框架TSF。但是,Windows Vista和Windows 7用户也可以使用各种基于IMM的输入方法,因为Windows提供了一个组件来将所有TSF请求转换为IMM API。很可能,因为Win8下的许多Imm函数无法使用。)根据微...

转:(WIN)S04-CH01 PCIE XDMA开发环境搭建以及环路测试

XDMAIP使用部分教程分LINUX篇和WINDOWS篇两个部分。通过实战,面向应用,提供给大家XILINXFPGAPCIE应用解决方案。本教程以MK7160FA作为样机测试。这是一款高性价比的FPGA开发板。而M_AXI_LITE挂载的BRAM是需要进行BAR空间操作,所以地址设置为0x80000000...

GERBER文件

GERBER文件GERBER文件是一种国际标准的光绘格式文件,它包含RS-274-D和RS-274-X两种格式,其中RS-274-D称为基本GERBER格式,并要同时附带D码文件才能完整描述一张图形;RS-274-X称为扩展GERBER格式,它本身包含有D码信息。或GERBER描述是防焊层,并且描述之图形主要是防焊部分。若您自己将PCB文件转换成GERBER...