首页 > 代码库 > 【Java每日一题】20161114

【Java每日一题】20161114

package Nov2016;

import java.io.Serializable;

// V1.0版
public class Ques1114 implements Serializable{

    private static final long serialVersionUID = 1L;

    public final int num;

    public Ques1114(){
        num = 123;
    }
}
// 序列化到磁盘
public class TestSerialize{
    public static void main(String[] args) {
        SerializeUtils.writeObject(new Ques1114()); 
    }
}
// V2.0版 修改num值(serialVersionUID保持不变)
public class Ques1114 implements Serializable{

    private static final long serialVersionUID = 1L;

    public final int num;

    public Ques1114(){
        num = 321;
    }
}
// 反序列化
public class TestDeserialize{
    public static void main(String[] args) {
        Ques1114 ques1114 = (Ques1114)SerializeUtils.readObject();
        System.out.println(ques1114.num);  // 输出值
    }
}

今日问题: 
通过20161111问题知道反序列化时final属性会重新计算值,那这里请问“输出”处输出结果是什么?(点击以下“【Java每日一题】20161114”查看20161111问题解析) 


题目原发布于公众号、简书:【Java每日一题】20161114,【Java每日一题】20161114 

技术分享

【Java每日一题】20161114