4、 序列化问题。上面这个例子中,如果对School进行序列化,会发现在声明序列化器时出错,但是只要把基类Orgnization中的head成员声明为protected就可以解决问题。其实不光是这个应用,只要是用Shadows去隐藏基类变量,且这个基类变量是public 型,就会出现这个错误。我猜想原因是:虽然基类变量被隐藏了,但并非它就不存在了,事实上它还在内存里,但序列化器却没有发现这个问题,它只知道要对公共变量去进行检测,结果发现有两个同名的变量,所以就不知道怎么办了,只有报错。不过只要把这种变量声明为private或protected就行了——这也是一个缺点吧。 School进行序列化,会发现在声明序列化器时出错,但是只