对,结果就是B-a1,bbb=0,为什么是这样的?

解决方案 »

  1.   

    不对,应该是
    B-a1
    bbb=0
    这是java中的多态性
      

  2.   

    程序结束后是不是bbb的值才被赋予1000?
      

  3.   

    先调用了基类的构造函数A(),在A()里调用了a1(),由于子类覆盖了这个方法,所以输出B-a1,bbb=0,因为这个时候子类的构造函数没有执行,所以bbb的值还是0
      

  4.   

    楼上分析的不错,应该看看sun出的java考试用书,上面有好多细节性的问题
      

  5.   

    caoxmby(一切都变得没有意义..........)  说的对。
      

  6.   

    以前见到过一个帖子,讨论java多态的,就是这么一段代码。
      

  7.   

    Sure it is 
    B-a1
    bbb=0
    1:the default constructor of B ,B() will call the default constructor of class A,namely A(),and A() in turn calls the method al() that is overridded by B()