Reviewing concepts for OOP and Java