As for the first question, I generally initialize all my java objects in the constructor (other game objects, collections, sockets etc.) and the init() method loads images, sounds and other resources.
And the 2nd question, there is a method called enter() which is called upon entering the GameState. Also there is a leave() method which is called when leaving the state.
More on the GameState is found here http://slick.ninjacave.com/javadoc/org/newdawn/slick/state/GameState.html