读书人

为什么强迫父类转换成子类会出错!解决

发布时间: 2012-04-03 12:38:19 作者: rapoo

为什么强迫父类转换成子类会出错!
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》》动物是狗当然错了,
狗是动物才行~~~~
[解决办法]
子类有的东东父类不一定有,所以父转不了子
父类有的东东子类都拿来了,所以子能转父

读书人网 >J2SE开发

热点推荐