I think it makes more sense to implement Serializable for objects which needs to be persisted and declaring every fields of the class transiennt will be more cumbersome. Another point for which I am not sure is that Object is the root of all classes, which includes reflection related classes, so it'll be inappropriate to implement Serializable for the Object class.