Objects first with Java a practical introduction using BlueJ - Barnes, David J. (David John) 1959; Kölling, Michael (Pearson Education Limited, 2017)