林纳 2019-04-25 09:15
浏览 156

SCJP一道选择题,为什么CardPlayer c2 = (CardPlayer) is.readObject();单独创建父类对象?

代码如下:

class Player {
 Player() {
  System.out.print("p");
 }
}

public class CardPlayer extends Player implements Serializable {
 CardPlayer() {
  System.out.print("c");
 }

 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);
   CardPlayer c2 = (CardPlayer) is.readObject();
   is.close();
  } catch (Exception x) {
  }
 }
}

为什么最后输出结果是“pcp”而不是“pcc”?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 关于#qt#的问题:Qt代码的移植问题
    • ¥50 求图像处理的matlab方案
    • ¥50 winform中使用edge的Kiosk模式
    • ¥15 关于#python#的问题:功能监听网页
    • ¥15 怎么让wx群机器人发送音乐
    • ¥15 fesafe材料库问题
    • ¥35 beats蓝牙耳机怎么查看日志
    • ¥15 Fluent齿轮搅油
    • ¥15 八爪鱼爬数据为什么自己停了
    • ¥15 交替优化波束形成和ris反射角使保密速率最大化