Hi Suraj
Batch Apex is stateless by default. That means for each execution of your execute method, you receive a fresh copy of your object. All fields of the class are initialized, static and instance. If your batch process needs information that is shared across transactions, one approach is to make the Batch Apex class itself statefull by implementing the Statefull interface. This instructs Force.com to preserve the values of your static and instance variables between transactions.
Hope it may helps you: