VO/BO/DTO/META中我们通常会实现Serializable接口,会重写toString方法。
- 实现Serializable接口通常是为了在网络传输中可以序列化为二进制字节流(前端调用接口时的数据传输;manager通过Dubbo调用service时的数据传输...)。如果不进行序列化则会报出序列化失败相关错误。
只需要在相应的类定义后面加上implement Serializable,JVM就知道此类可以被序列化,可被默认的序列化机制序列化。编译器就会自动给我们类对象添加序列化和反序列化实现。
- 当一个父类实现序列化,子类自动实现序列化,不需要显式实现Serializable接口。
- 一个子类实现了 Serializable 接口,它的父类都没有实现 Serializable 接口,要想将父类对象也序列化,就需要让父类也实现Serializable 接口。
- 重写toString方法为的是在打印该对象时可以清楚的得到该对象的详细信息。不重写时默认调用父类Object的toString方法则只会打印该对象的hashcode(内存地址)。