Ok, i'll try to explain whats going on but it might not make too much sense given that I don't really understand it myself
GameBoard has two constructors, one for a filename typed at the command line and one for a player number if no filename is typed at the command line.
GameBoard is a subclass of Board, Board's function is to display a 10 by 10 grid type board. It has one constructor with an int passed in - super(10)
The main class checks for a filename typed at the command line with args[] (i think) If it doesn't find a filename then it goes ahead and creates a new GameBoard. If there was a filename typed at the command line it does the try/catch. If the filename was correct then it creates a new gameboard with the filename as a parameter. If the filename was incorrect(not found) it displays an error message and exits the program.
Hope that sheds some light on whats going on, let me know if you need anything else and thankyou for replying.