各位好!前两天去面试被面试管问及如下问题:
class A
{
……
}class B extends A
{
……
}
问:列举类B不能继承类A内部某些实现的情况?当时我是这样作答的:
1、类A中被final修饰的方法;
2、类A本身的构造器;
注:最基本的被private修饰的方法也应该属于此范围内吧。
(后来本人想:题目中的“继承”应该改作“使用”吧,即:“类B不能使用类A内部某些实现的情况”应该更合适些。)敬请各位讨论一下是否还有其它情况,谢谢!
class A
{
……
}class B extends A
{
……
}
问:列举类B不能继承类A内部某些实现的情况?当时我是这样作答的:
1、类A中被final修饰的方法;
2、类A本身的构造器;
注:最基本的被private修饰的方法也应该属于此范围内吧。
(后来本人想:题目中的“继承”应该改作“使用”吧,即:“类B不能使用类A内部某些实现的情况”应该更合适些。)敬请各位讨论一下是否还有其它情况,谢谢!
楼主【hesouxiang】截止到2008-07-24 22:37:10的历史汇总数据(不包括此帖):
发帖的总数量:12 发帖的总分数:190 每贴平均分数:15
回帖的总数量:14 得分贴总数量:2 回帖的得分率:14%
结贴的总数量:10 结贴的总分数:155
无满意结贴数:0 无满意结贴分:0
未结的帖子数:2 未结的总分数:35
结贴的百分比:83.33 % 结分的百分比:81.58 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
但是从访问限制的角度来看,private的东西子类是看不到的,但是可以通过父类提供的public方法进行访问.
field只能隐藏,不能覆盖.
static的东西不能覆盖.
final的东西不能被覆盖,但是可以直接调用.感觉这个题目的意思是说B中省略号部分不能写哪些东西,应该就是父类中private,final,static等东西了.
static
final
private/final 的一样能被继承下来,只不过不能在子类里 访问/覆盖。