package chapter3;
public class A {
public A() {
}
public static void main(String argv[])
{
A a1 = new A();
B b1 = new B();
b1=(B)a1;
}
}
package chapter3;
public class B extends A{
public B() {
}
}
------解决方案--------------------
强迫你爸爸做你的儿子
你爸爸当然不同意 而且非常生气
说不定还要打你
------解决方案--------------------
那是因为a1所引用着的,本就不是个B类的对象。
子类向父类转没有问题的。因为在面向对象中,“了类就是一种父类”,而反之不成立。
------解决方案--------------------
LS正解
------解决方案--------------------
向上转型(子类向父类)可以,向下可不行.
------解决方案--------------------
1 L描述的生动
------解决方案--------------------
如果 a1被声明为B类,就可以这样转了
A a1 = new B();
B b1 = new B();
b1=(B)a1;
------解决方案--------------------
1楼厉害
------解决方案--------------------
父类不一定是子类,子类一定是父类,因为他们是单向继承关系
------解决方案--------------------
TO》》动物是狗当然错了,
狗是动物才行~~~~
------解决方案--------------------
子类有的东东父类不一定有,所以父转不了子
父类有的东东子类都拿来了,所以子能转父