java中创建父类对象可以调用子类的构造方法吗?

如题所述

不能,因为子类的方法对父类不可见!父类调用子类的方法只能是在父类里构造子类的对象,通过对象来调用!
如果子类的是静态方法,那么直接拿类调用!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-29
我发现好多不懂装懂的人来提供错误的答案,而且还被采纳了?父类中的对象可以通过子类的构造方法来实现。这是由于在编译阶段,只是检查参数的引用类型。然而在运行时,Java虚拟机(JVM)指定对象的类型并且运行该对象的方法。这种情况有个要求,就是子类中的方法要在父类中存在,即子类中的方法是父类中的方法的重写,否则编译器会抛出异常错误。这就是java中的多态!
第2个回答  2012-09-23
不能。B extends A, A a = new b() 是不行的,只能儿子用老子的东西,不可以老子用儿子的东西。