Some update

1. Object overwrite read/writeObject() will call defaultRead/WriteObject() rather than deffaultRead/WriteFields in its methods.
2. Put read/writeBlockHeader in read/writeObject method.