UID和自定义读取器/写入器通过反射访问.
Serializable是一个标记,JRE / JVM可以根据它的存在采取行动.
http://en.wikipedia.org/wiki/Marker_interface_pattern