你好!如果重写一个toString 方法,那么跟没序列化有什么区别呢?没用到序列化比如下面的程序也会输出同样
答案:2 悬赏:0 手机版
解决时间 2021-11-25 19:56
- 提问者网友:饥饿走向夜
- 2021-11-25 04:55
你好!如果重写一个toString 方法,那么跟没序列化有什么区别呢?没用到序列化比如下面的程序也会输出同样
最佳答案
- 五星知识达人网友:人類模型
- 2021-11-25 05:52
你好,就用你的例子吧。
class Student implements Serializable{
private String name;
private int age;
public Student(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return "name="+name+",age="+age;
}
}
class Student {
private String name;
private int age;
public Student(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return "name="+name+",age="+age;
}
}
两个类几乎一模一模,第一个实现了Serializable接口,注意这个接口是标识接口,只表示这个类具有某种特性(这里表示这个类可以被序列化),而第二个类则不具备此功能。区别就这么点,序列化的目的是为啥了?就是为了让对象可以以流的形式传输,如在网络上传输,保存到文件,要是反序列化后和原对象内容不一样了,那还了得。希望你能够理解我说的意思。
class Student implements Serializable{
private String name;
private int age;
public Student(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return "name="+name+",age="+age;
}
}
class Student {
private String name;
private int age;
public Student(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return "name="+name+",age="+age;
}
}
两个类几乎一模一模,第一个实现了Serializable接口,注意这个接口是标识接口,只表示这个类具有某种特性(这里表示这个类可以被序列化),而第二个类则不具备此功能。区别就这么点,序列化的目的是为啥了?就是为了让对象可以以流的形式传输,如在网络上传输,保存到文件,要是反序列化后和原对象内容不一样了,那还了得。希望你能够理解我说的意思。
全部回答
- 1楼网友:一叶十三刺
- 2021-11-25 07:28
将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
序列化是用来传输时使用的,类里面的toString方法与序列化没有关系,这个方法只是在输出这个对象的时候输出的内容而已。
序列化是用来传输时使用的,类里面的toString方法与序列化没有关系,这个方法只是在输出这个对象的时候输出的内容而已。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯