In Java OOP we need to understand the terminology and the design concepts behind OOP. Here are two handouts, quite similar but one is a teaching document and the other is a study document.
Click here for OOP theory handout
Click here for OOP theory study notes
One of the four pillars of Java is inheritance. An alternative to inheritance is a composite approach. Click here for more composite versus inheritance