如List list=new ArrayList();
list.add();
1,请问这里的add是父类的方法,但是List是接口,没有定义add方法啊。
2,还有这个在内存中是怎么实现的

解决方案 »

  1.   

    1.这里涉及到了JAVA一个重要特性,多态。将子类的实例赋值给父类的引用变量,运行时仍然调用子类的方法
      

  2.   

    LZ所说的list.add()方法确实没有,在List ArrayList中也没
    只有add(E o) 和add(int index, E element)2个add方法,LZ是忘了参数吧
    关于子类父类的创建对象问题:我个人觉得还是紫竹说的比较经典:
        编译时,父类决定调用的方法;
        运行时,调用的方法为子类的方法如果紫竹看见的话,在这,我想问问:紫竹
        属性该如何调用,还有为什么会这样呢?