例如
public class parentClass{
//stuff done
}
public class derivedClass extends parentClass{
// has data that parentClass does not
}
// some function
public parentClass foo(parentClass myVar){
return myVar
}
// ... later ...
{
...
derivedClass dClass1 = new derivedClass();
parentClass pClass = foo(dClass1);
derivedClass dClass2 = (derivedClass)pClass;
...
}
在dClass1和dClass2之间是否丢失了数据?我不确定,我认为答案是否定的。我知道,如果我使用的是双精度和整数,那么数据将会丢失,但是那不是使用指针和对象,因此我不确定。
您不能投射对象,所以您不会丢失数据。您所能做的就是将引用转换为对象,但这不会以任何方式改变它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句