java serializable接口是什么?让我们一起来了解一下吧!
java serializable接口是java程序中的serializable接口。serializable接口指的是运用其序列化功能的一个接口。如果没有这个接口的类便不可以让它们的任意状态变成序列化或者逆序列化。
serializable接口的定义代码:
public interface Serializable {
}serializable接口也被称为标识接口,它没有其他别的属性与方法。标识接口的定义是不能解决实际问题仅仅具有标识功能。
序列化的定义:序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相应存在的是反序列化,它将流转换成对象。这两个过程结合起来,可以轻松地存储和传输数据。
序列化对于存储数据的好处:支持数据传输,特别是远程调用的时候。当我们需要把对象的状态信息通过网络传输或者需要将对象状态信息持久化,以便将来使用时都需要把对象进行序列化。
实战演练,具体代码如下:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class Test {undefined
public static void main(String[] args) {undefined
Person p = new Person();
p.setName("feige");
writeObj(p);
Person p2 = readObj();
System.out.println(p2);
}
// 序列化
public static void writeObj(Person p) {undefined
try {undefined
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("E://1.txt"));
objectOutputStream.writeObject(p);
objectOutputStream.close();
} catch (IOException e) {undefined
e.printStackTrace();
}
}
// 反序列化
public static Person readObj() {undefined
Person p = null;
try {undefined
ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("E://1.txt"));
try {undefined
p = (Person)objectInputStream.readObject();
} catch (ClassNotFoundException e) {undefined
e.printStackTrace();
}
} catch (IOException e) {undefined
e.printStackTrace();
}
return p;
}
}以上就是小编今天的分享了,希望可以帮助到大家。