JAVA对象序列化,反序列化

本文详细介绍了如何在面向对象编程中实现序列化和反序列化,通过定义动物和人两个类,展示了序列化格式的自定义过程。包括属性和方法的定义,以及具体实现代码,最后通过实例演示了序列化和反序列化的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

理解序列化和反序列化对理解面向对象有很大的帮助。举例如下,序列化格式自己定义:

我们有两个类,动物,人,。

人继承动物。

其中:

人的属性有:name(名称),phoneNum(手机号码)等

人的方法有:serialize(),deserialize()

动物的属性有:mood(情绪) sex(性别)等

动物的方法有:serialize(),deserialize()

如下为代码:

动物:

public class Animal(){


private String mood;

public String serializeContent;

public String getMood(){

return mood;

}

public void setMood(Sting strMood){

this.mood = strMood;

}

public String serialize(){


return serializeContent = mood;

}

public void deserialize(String strContent){


this.mood = strContent.split(";")[0];

}

}

人:

public class person{


private String name;

private String phoneNum;

public person(){}

public person(String strName, String strPhoneNum){


this.name = strName;

this.phoneNum = strPhoneNum;

}

public String serialize(){


super.serialize();

super.serializeContent = super.serializeContent + ";" + name + "," + phoneNum;

}


public void deserialize(String strContent){}

super.deserialize(strContent);
this.name = strContent.split(";").split(",")[0];
this.phoneNum = strContent.split(";").split(",")[1];

}


public class TestDemo{
public static void main(String[] args){

Animal animal = new Person(vid, 12345678900);

animal.setMood("高兴");
animal.serialize();
System.out.println(animal.serializeContent);//输出_____高兴;vid,12345678900

String strContext = serializeContent;
Person person = new Person();
person.deserialize(strContext);

System.out.println(person.name);//输出vid
System.out.println(person.phoneNum);//输出12345678900

System.out.println(person.getMood());
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值