[quote name='Trey']You're abusing/misunderstanding the point of the static keyword. When a variable is static, it is the same value for all instances of that class, rather than each instance having its own separate value such as for non-static variables. This mean every instance of Player will have the same hp, which is almost assuredly not intended.
You say that you make it static so that you can change it, and I don't understand why this is. You have setters/getters for all your other instance variables, so why is hp any different?
Are you using serialization (Serializable interface, read/writeObject)? The fact that it is static is also probably why it isn't saved in the XML. It doesn't make sense to save static variables, so they aren't.[/QUOTE]
If I have the regular getter/setter setup and I do some calculations for the damage done to the player, and I try to save the game, the player file will stay at[code]<hp>100</hp>[/code] when in the game itself the player is at for example 70hp.