Hi Naveen,
A lot of information about serialVersionUID can be found
here. After reading this article
you should be able to answer your own questions.
The serialVersionUID is a universal version identifier for a Serializable class. Deserialization uses this number to ensure that a loaded class corresponds exactly to a serialized object. If no match is found, then an InvalidClassException is thrown.
1. I would declare it myself.
2. of course (all my classes in my assignment had the same serialVersionUID: 1979, my year of birth)
3. Every class that implements Serializable interface should declare a serialVersionUID.
Kind regards,
Roel