显式声明UID,避免用序列化类在构造函数中为不变量赋值，避免为final变量复杂赋值