what is the difference between static and transient?
Well, static variables are variables that belong to a whole class rather than to a single instance of that class. "Transient" is actually just a notation to be used by the serialization machinery; it means "don't serialize this member."