Starting out with Java : early objects - Gaddis, Tony (Pearson, 2008)