黑马程序员技术交流社区
标题:
private 成员的继承
[打印本页]
作者:
RINGARES
时间:
2014-11-6 14:39
标题:
private 成员的继承
本帖最后由 RINGARES 于 2014-11-7 22:37 编辑
父类中含有private的成员变量及方法
子类继承父类后是无法直接调用父类的private成员的,只能通过父类提供的public方法调用
提问:
此时父类中的private成员有没有被继承?是无法继承还是只是权限不够无法触及?
百度很多答案都说是无法继承,但我觉得是可以继承的只是权限问题而已,提出这个问题,希望找到确切的答案!~
作者:
一叶障目
时间:
2014-11-6 15:21
父类中private修饰的成员是不能被继承的,除了本类内可以直接访问,其它地方需要通过该类提供的公共方法访问
作者:
chen578157939
时间:
2014-11-6 15:29
请教一下,不能继承和没有权限有什么区别?
作者:
shileishihai
时间:
2014-11-6 19:02
私有成员不能被直接继承,但可以隐式访问\隐式继承。比如父类的public权限的方法中访问了private成员变量,子类继承方法便访问了父类的private成员变量。不是大神,讲得不够清楚。你记住隐式继承这个词就行了。有更好的答案,记得及时回复一下。
作者:
w239983684
时间:
2014-11-6 20:16
貌似不能继承!
作者:
焦旭宁1
时间:
2014-11-6 22:52
当然不能啦!!!!
作者:
戏言丶
时间:
2014-11-7 00:56
应该是没有继承,如果继承了那么说明子类也应该具有同样的自己的字段,可是定义一个方法去访问的时候会报出没有定义
作者:
cs8630323
时间:
2014-11-7 02:15
本帖最后由 cs8630323 于 2014-11-7 02:20 编辑
戏言丶 发表于 2014-11-7 00:56
应该是没有继承,如果继承了那么说明子类也应该具有同样的自己的字段,可是定义一个方法去访问的时候会报出 ...
继承了{:3_50:}
用子类调用父类私有域看看报什么错顺便说下静态的也能继承
作者:
zhangyangLengen
时间:
2014-11-7 07:23
权限只是一种修饰符吧!底层在进行编译时,会根据这些修饰符做出相应的判断。
作者:
Se7en_Liu
时间:
2014-11-7 09:24
父类被private修饰的成员变量不能被子类继承,成员方法不能被重写,只能通过提供公共权限的访问方式,一般情况写私有成员变量是通过构造函数来初始化的
class Demo
{
private int num;
//给成员变量初始化
Demo(int num){
this.num = num;
}
//通过getNum获取num的初始化后的值
public int getNum(){
return num;
}
}
class Test extends Demo
{
Test(int num){
super(num);
}
}
class
{
public static void main(String[] args)
{
Test t = new Test(3);//子类创建对象时,会默认先访问父类的构造方法
System.out.println(s.getNum());//子类继承了getNum,直接通过对象调用
}
}
复制代码
作者:
田峻菘
时间:
2014-11-7 09:57
被private修饰表示私有化,父类私有不能被子类继承,不能被外部直接访问,只能通过内部其他方法间接调用。
目的就是封装这个成员变量或方法,不能让外部修改这个方法,提高了对数据访问的安全性。
作者:
nyk
时间:
2014-11-7 12:24
本帖最后由 nyk 于 2014-11-7 12:25 编辑
调用父类中的private修饰的变量,抛出以下异常、Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The field TestSuper.str is not visible
visible意为不可见,我觉得是子类继承了父类的所有成员变量和方法,子类没有权限访问被private修饰的成员变量和方法
作者:
代码学者
时间:
2014-11-7 13:15
只能继承非私有属性和方法:)
作者:
HelloWorld!
时间:
2014-11-7 15:41
曾提问过,也没得到个标准答案
作者:
MarcoLee
时间:
2014-11-7 21:07
这个问题挺好的,后面补答案
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2