Mitsunori Ogihara (2018). Fundamentals of Java Programming. Springer Science+Business Media.