Please consider the following
Java Program:
import java.io.*;
class Player {
Player()
{ System.out.println( "base called" ); }
}
public class CardPlayer extends Player implements Serializable {
CardPlayer()
{ System.out.println( "dev called" ); }
public static void main(
String args[] )
{
CardPlayer c1 = new CardPlayer();
try {
FileOutputStream fos = new FileOutputStream( "play.txt" );
ObjectOutputStream os = new ObjectOutputStream( fos );
os.writeObject(c1);
os.close();
FileInputStream fis = new FileInputStream( "play.txt" );
ObjectInputStream is = new ObjectInputStream( fis );
System.out.println( "before" );
CardPlayer c2 = (CardPlayer) is.readObject();
System.out.println( "after" );
is.close();
} catch ( Exception x ) { }
}
}
When the object is read back off the disk, I would expect that there would
be a call to the constructor for CardPlayer and a call to the constructor for Player. However, I am only getting the constructor call for Player. I am hoping that somebody can tell why this is.
Thanks
Bob
~
~