Introduction to Java programming: - Liang, Y. Daniel (Pearson Education, 2013)