当前页面: 开发资料首页 → J2SE 专题 → 一个数组引用的问题!
一个数组引用的问题!
摘要: 一个数组引用的问题!
class Parent{
}
class Child extends Parent{
}
public class TypecastDemo{
public static void main(String args[]){
Parent[] arrParent;
Child[] arrChild;
arrParent = new Parent[10];
arrChild = new Child[20];
arrParent = arrChild; //1
arrChild = (Child[])arrParent; //2
arrParent = new Parent[10];
arrParent = arrChild; //It's necessary here!
arrChild = (Child[])arrParent; //3
}
}
为什么语句 arrParent = arrChild; //It's necessary here!
不能少?
这是引用和对象相分离的原因吗?
如果1少了,那么2就成了Child[] =(Child[])Parent[]
这样是把父类强制转换成为子类,
有了1,就是Child[] =(Child[])Child[],这个当然不存在问题噻!
下面的3是同样的!
不能把父类实例转化成子类实例