例えば
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 の間でデータが失われましたか? よくわかりませんが、答えはノーだと思います。double と int を使用していた場合、データが失われることはわかっていますが、それはポインターとオブジェクトを使用していないため、確信が持てませんでした。