This page has a good table for the modifiers private/static/protected/none - but basically it sets the scope of your variables/methods. Public can be viewed by your other classes while private will keep to itself and let nobody else at it (directly).
The 'return money' above would be how your main class gets at the money value for the player object. Since in that example the money variable is private (you cannot access it from the main class), you have to use a method to fetch the value for you.
The exceptions...you have two options, either propagate it (throw it up the chain) or catch it. Generally you want to catch it, so you'd surround the line with:
Code:
try {
// something that throws an exception
} catch ( e ) {
// you can display the exception (save it to a log, do a custom System.out, or just ignore it
}
or to propagate it, you simply add the "throws IOException" to the class that you're in. Such as if it's the manager, public class Manager throws IOException { ... that will toss it up to Java.
(I didn't look at your attachments, no time now, but later if things aren't working I can.

)