Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Object-Oriented Hierarchies in Java

LearnQuest via Coursera


Object-Oriented Hierarchies in Java is the third of a series of courses in the Core Java Specialization. The Core Java Specialization is part of a series of programming specializations, derived from LearnQuest's private Java Bootcamps, designed to provide the skill set necessary to be hired as an IT developer using Java in many corporate environments.

This course includes hands-on practice and will help you build on your knowledge of the Java language. After completing this course, you will have a deeper understanding of how to effectively implement and use inheritance and polymorphism in Java.

To be successful in this course, you should have taken:
- Course 1: Introduction to Java
- Course 2: Introduction to Object-Oriented Programming with Java

or have equivalent knowledge.


  • Course Overview
    • In this video, we will introduce you to this course and explain what you will learn.
  • OO Programming Relationships
    • This module foreshadows the entire course, covering O-O Relationships, Inheritance, Polymorphism, Interfaces, Aggregation, and Design Guidelines. The following modules revisit selected topics in more detail.
  • Inheritance
    • This module goes into more detail on implementing class inheritance in Java, including overriding methods, invoking overridden parent methods using super, and more.
  • Abstract Classes
    • This module discusses Abstract classes, including what they are; where you might use them; how to implement them; and concludes with discussion of casting, which is the technique of taking a reference of a given type, and asserting a different type.
  • Interfaces
    • Interfaces are the key to polymorphism in Java, since Java requires inheritance in order to implement polymorphism, and classes are limited to the single inheritance graph. This module goes into more detail on interfaces and polymorphism, and includes discussion of new Java 8 features, such as default and static methods, Functional Interfaces, Java Lambdas, and Method References.
  • Polymorphism
    • Just as the first module served to foreshadow the entire content of this course, this module serves as a brief capstone, with a conceptual discussion of polymorphism mechanisms in Java, and practices for ensuring that polymorphism is an option in your programs.

Taught by

Evan Bergman and Noel J. Bergman

Related Courses


Start your review of Object-Oriented Hierarchies in Java

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free