看源码的时候,发现transient这个关键字,不甚理解,查找资料发现:不被序列化

疑问:

  • 静态变量是不是不被序列化?
public class User implements Serializable {

	private static final long serialVersionUID = 2877054094045568710L;

	private String username;

	private transient String password;

	private static int age;

	public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public int getAge() {
return age;
} public void setAge(int age) {
User.age = age;
} public static void main(String[] args) {
User user = new User();
user.setUsername("imeng");
user.setPassword("123456");
user.setAge(22); try {
ObjectOutputStream os = new ObjectOutputStream(
new FileOutputStream("/Users/imeng/Desktop/user.txt"));
os.writeObject(user);
os.close();
} catch (IOException e) {
e.printStackTrace();
} //序列号后改变Static的值
user.setAge(100); ObjectInputStream oi;
try {
oi = new ObjectInputStream(new FileInputStream("/Users/imeng/Desktop/user.txt"));
User readUser = (User) oi.readObject();
System.out.println("username:" + readUser.getUsername());
System.out.println("transient关键字password:" + readUser.getPassword());
System.out.println("静态变量age:" + readUser.getAge());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
username:imeng
password:null
age:100

结论:

  • transient关键字可以阻止序列化
  • 序列号并不保存静态变量

最新文章

  1. java版简易socket客户端
  2. Android 利用RecyclerView.Adapter刷新列表中的单个view问题
  3. 把DATATABLE,DS中的内容用HTML的方式显示
  4. Solidworks安装界面是英文的解决办法
  5. 【转】POP3、SMTP和IMAP之间的区别和联系
  6. WinForm程序用使用List对象绑定DataGridView数据源
  7. CCF 201312-4 有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)
  8. NetAdvantage
  9. (Map)利用Map,完成下面的功能:  从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。  附:世界杯冠军以及对应的夺冠年份,请参考本章附录。 附录 (Map)在原有世界杯Map 的基础上,增加如下功能: 读入一支球队的名字,输出该球队夺冠的年份列表。 例如,读入“巴西”,应当输出 1958 1962 1970 1
  10. JavaScript的Date 方法
  11. intent和intentfilter
  12. 配色问题lingo实现
  13. UVA 216 - Getting in Line
  14. 详解 RAC 中各种IP和监听的意义
  15. SQL测试题
  16. java第八次课堂笔记
  17. P1160 队列安排 luogu洛谷
  18. Ext.util.Format.date与Ext.Date.format区别, 转换时间戳
  19. spring boot(九)定时任务
  20. 广州商学院Python正方教务系统爬虫(获取个人信息成绩课表修改密码)

热门文章

  1. .net core2.x - Identity - 简介
  2. zepto中的scrollTo
  3. CSS(四)
  4. python学习笔记1-python相关应用套件
  5. 修改Ueditor的图片上传地址
  6. Hadoop错误之namenode宕机的数据恢复
  7. 201771010126.王燕《面向对象程序设计(Java)》第六周学习总结
  8. [LeetCode] Global and Local Inversions 全局与局部的倒置
  9. 蓝桥杯-加法变乘法(java)
  10. canvas动态修改宽高问题