当前位置: 技术问答>java相关
类A为什么从外包继承一个protected成员后,类A的子类为什么不能访问这个成员
来源: 互联网 发布时间:2015-09-18
本文导语: 好象在类A中变成了private成员 | b.i当然不行了. i对于A,B来说都是protect的成员变量.这一点确实没有问题. 但是protected的含义是: 1.对于子类而言,相当于public,也就是说父类的protected成员子类可以...
好象在类A中变成了private成员
|
b.i当然不行了.
i对于A,B来说都是protect的成员变量.这一点确实没有问题.
但是protected的含义是:
1.对于子类而言,相当于public,也就是说父类的protected成员子类可以访问.
2.但对外是相当于private的.也就是说你不能写
A a = new A();
B b = new B();
int x = a.i;//不能访问
int y = b.i//也不能访问.
我想引入protected的原因也就是,本来i不想暴露出来,应该定义为private(在A中),但是,这样以来,子类(如B),要想访问i,也就需要通过get()set()之类的方法了.很不方便.于是一个界乎于private和public之间的protected就有用了.
对外边来说,他和private一样,是不可以访问的.但在子类里边,就像public一样,可以直接访问.
i对于A,B来说都是protect的成员变量.这一点确实没有问题.
但是protected的含义是:
1.对于子类而言,相当于public,也就是说父类的protected成员子类可以访问.
2.但对外是相当于private的.也就是说你不能写
A a = new A();
B b = new B();
int x = a.i;//不能访问
int y = b.i//也不能访问.
我想引入protected的原因也就是,本来i不想暴露出来,应该定义为private(在A中),但是,这样以来,子类(如B),要想访问i,也就需要通过get()set()之类的方法了.很不方便.于是一个界乎于private和public之间的protected就有用了.
对外边来说,他和private一样,是不可以访问的.但在子类里边,就像public一样,可以直接访问.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。