各位好!前两天去面试被面试管问及如下问题:
class A
{
……
}class B extends A
{
……
}
问:列举类B不能继承类A内部某些实现的情况?当时我是这样作答的:
1、类A中被final修饰的方法;
2、类A本身的构造器;
注:最基本的被private修饰的方法也应该属于此范围内吧。
(后来本人想:题目中的“继承”应该改作“使用”吧,即:“类B不能使用类A内部某些实现的情况”应该更合适些。)敬请各位讨论一下是否还有其它情况,谢谢!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【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  %                  
    楼主加油
      

  2.   

    从面向对象中继承的语义来看,子类继承父类的一切.
    但是从访问限制的角度来看,private的东西子类是看不到的,但是可以通过父类提供的public方法进行访问.
    field只能隐藏,不能覆盖.
    static的东西不能覆盖.
    final的东西不能被覆盖,但是可以直接调用.感觉这个题目的意思是说B中省略号部分不能写哪些东西,应该就是父类中private,final,static等东西了.
      

  3.   

    private   
    static
    final
      

  4.   


    private/final 的一样能被继承下来,只不过不能在子类里 访问/覆盖。
      

  5.   

    field只能隐藏,不能覆盖?????这是什么……隐藏 能访问吗?
      

  6.   

    可以通过super来访问,或者通过父类的方法来访问.