class parent() class child extends parent() parent有自己的方法,child继承了parent的方法,也可以增加自己的方法。 可以肯定child比parent的方法多,child赋给parent,调用parent.method() 或者parent赋给child,调用child.method(),猜猜哪个会错。
当然有错了,难道你在中学里面没有学过正命题,逆命题,否命题,和逆否命题之间的关系吗?在java种everyclass extends Object, class A{} class B{} Object o = new A(); B b = (B)o;你说可以吗?
我觉得你可以读读Thinking in java第十一章
向下转型会抛出异常,由于B中的接口至少不必A中少,所以这么做是不安全的,编译器会抛出java.lang.ClassCastException 除非是这种情况A b = new B(); (B)b.p();这样编译器会完成向下转型的动作
方法P已经给覆盖了
就是可以输出也应该是BBBBBBB
class child extends parent()
parent有自己的方法,child继承了parent的方法,也可以增加自己的方法。
可以肯定child比parent的方法多,child赋给parent,调用parent.method()
或者parent赋给child,调用child.method(),猜猜哪个会错。
class A{}
class B{}
Object o = new A();
B b = (B)o;你说可以吗?
除非是这种情况A b = new B();
(B)b.p();这样编译器会完成向下转型的动作