java中可以将父类对象强制转换为子类对象吗?直接将父类对象强制转换为子类对象,与将上转型对象强制转换为子类对象,最终的效果一样吗?
可以,但必须满足一个条件,向下转型时必须知道当前对象是子类的对象。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-02-26
class A{
int age;
String name;
}
class B extends A{
String telephone;
}
这里B具有三个字段,age,name,telephone。
如果
A a = new B();
那么将会丢弃B的telephone字段,但是还是可以得到一个完整的A对象。
但是如果
B b = new A();
此时,A并没有telephone字段,并不能得到一个完整的B对象。
不知道通过这个列子你能否懂得。
或者从语义上来说,
汽车,火车,飞机,都是交通工具,汽车火车,飞机都是交通工具的子类。
你可以说汽车火车,飞机都是交通工具,但是不能说交通工具是汽车,或者交通工具就是火车,飞机。本回答被网友采纳
int age;
String name;
}
class B extends A{
String telephone;
}
这里B具有三个字段,age,name,telephone。
如果
A a = new B();
那么将会丢弃B的telephone字段,但是还是可以得到一个完整的A对象。
但是如果
B b = new A();
此时,A并没有telephone字段,并不能得到一个完整的B对象。
不知道通过这个列子你能否懂得。
或者从语义上来说,
汽车,火车,飞机,都是交通工具,汽车火车,飞机都是交通工具的子类。
你可以说汽车火车,飞机都是交通工具,但是不能说交通工具是汽车,或者交通工具就是火车,飞机。本回答被网友采纳