当前位置:编程学习 > JAVA >>

请问为什么多态后。new出来的对象就不能使用子类私自定义的方法?

请问为什么多态后。通过父类指向子类对象new出来的对象就不能使用子类私自定义的方法?

必须要通过子类new出对象才可以。那么多态不是也有缺陷吗?

非常感谢。 --------------------编程问答-------------------- 多态就是要实现,父类(接口)方法定义一样,子类(实现类)具体实现不一样,这件事情的。

子类中新定义的方法,是不属于多态这个范畴的。

另外,子类重新定义的方法,也是发展的需要嘛:比如子类A又定义一个方法a,子类的子类B1、B2对这个方法a,又有各种各样的实现,这样我们可以声明A ab = new B1()或new B2()的方式,得到a方法不同的实现了。

反过来说,如果子类不允许这样额外定义方法的话,我们所有的类都是Object的子类,是不是就不应该定义Object中不存在的类了捏?

嗯,希望帮助LZ理解哈~

--------------------编程问答-------------------- 多态本来就是只能调用父类中公共的方法嘛!想调用子类自己的,那就向下转型呗! --------------------编程问答-------------------- 子类除了重写父类 还可以有自己的实现 你父类怎么知道 怎么调用 就算你强转子类 也很有可能会抛错  不推荐
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,