Object-Oriented Hierarchies in Java (Coursera)

Offered by LearnQuest,
Object-Oriented Hierarchies in Java (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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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 3 of 4 in the Core Java Specialization.

Syllabus

WEEK 1
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.

WEEK 2
Inheritance
This module goes into more detail on implementing class inheritance in Java, including overriding methods, invoking overridden parent methods using super, and more.

WEEK 3
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.

WEEK 4
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.

WEEK 5
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.

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

Related Courses

TDD - Desenvolvimento de Software Guiado por Testes (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

TDD - Desenvolvimento de Software Guiado por Testes (Coursera)

Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, com método e organização graças às boas práticas e princípios exercitados no curso anterior; mas você talvez não se sinta ainda confortável em projetar programas usando técnicas ágeis, como o desenvolvimento guiado por testes (TDD).

Sep 14th 2026
4 Weeks
Orientação a Objetos com Java (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Orientação a Objetos com Java (Coursera)

Neste curso, assumimos que você já sabe desenvolver programas pequenos em Java, mas você talvez não se sinta ainda confortável em projetar programas mais complexos com método e organização. O objetivo deste curso é fazer você compreender os princípios de orientação a objetos por meio da linguagem Java e saber como eficientemente aplicar esses princípios na prática quando projetando e desenvolvendo software de maneira ágil. Os conceitos discutidos e experimentados por você neste curso serão a base para você poder compreender os novos conceitos apresentados nos cursos seguintes desta especialização.

Sep 28th 2026
5-12 Weeks
Distributed Programming in Java (Coursera) Coursera
Rice University

Distributed Programming in Java (Coursera)

This course teaches learners (industry professionals and students) the fundamental concepts of Distributed Programming in the context of Java 8. Distributed programming enables developers to use multiple nodes in a data center to increase throughput and/or reduce latency of selected applications. By the end of this course, you will learn how to use popular distributed programming frameworks for Java programs, including Hadoop, Spark, Sockets, Remote Method Invocation (RMI), Multicast Sockets, Kafka, Message Passing Interface (MPI), as well as different approaches to combine distribution with multithreading.

Sep 14th 2026
4 Weeks
Kotlin for Java Developers (Coursera) Coursera
JetBrains

Kotlin for Java Developers (Coursera)

The Kotlin programming language is a modern language that gives you more power for your everyday tasks. Kotlin is concise, safe, pragmatic, and focused on interoperability with Java code. It can be used almost everywhere Java is used today: for server-side development, Android apps, and much more. This course aims to share with you the power and the beauty of Kotlin.

Sep 14th 2026
5-12 Weeks
Introduction to Object-Oriented Programming with Java (Coursera) Coursera
LearnQuest

Introduction to Object-Oriented Programming with Java (Coursera)

Introduction to OO Programming with Java is course 2 of the Core Java Specialization. After completing this course, you'll be able to create simple Java classes that exhibit the principle of Encapsulation, to import other classes for use, to work with Strings, print output and use advanced math functions. We'll begin with a brief refresher on necessary concepts from Object-Oriented Programming.

Sep 14th 2026
4 Weeks
Introduction to Java and Object-Oriented Programming (Coursera) Coursera
University of Pennsylvania

Introduction to Java and Object-Oriented Programming (Coursera)

This course provides an introduction to the Java language and object-oriented programming, including an overview of Java syntax and how it differs from a language like Python. Students will learn how to write custom Java classes and methods, and how to test their code using unit testing and test-driven development. Topics include basic data structures like Arrays and ArrayLists and overloading methods.

Sep 14th 2026
3 Weeks
Effective Programming in Scala (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Effective Programming in Scala (Coursera)

Scala is an expressive, versatile, and safe programming language. In this course, you will learn how to get the most out of Scala to solve common programming tasks such as modeling business domains, breaking down complex problems into simpler problems, manipulating data, or running parallel tasks. Along the journey, you will also learn the best practices for writing high-quality code that scales to large applications, how to handle errors, how to write tests, and how to leverage a productive development environment.

Sep 28th 2026
5-12 Weeks
Java Programming: Principles of Software Design (Coursera) Coursera
Duke University

Java Programming: Principles of Software Design (Coursera)

Solve real world problems with Java using multiple classes. Learn how to create programming solutions that scale using Java interfaces. Recognize that software engineering is more than writing code - it also involves logical thinking and design. By the end of this course you will have written a program that analyzes and sorts earthquake data, and developed a predictive text generator.

Sep 14th 2026
4 Weeks
Programming Languages, Part C (Coursera) Coursera
University of Washington

Programming Languages, Part C (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Sep 21st 2026
3 Weeks
3D Interaction Design in Virtual Reality (Coursera) Coursera
University of London,Goldsmiths, University of London

3D Interaction Design in Virtual Reality (Coursera)

This course will teach you about one of the most important aspects of VR, how you interact with a VR world. Virtual Reality is completely different from an on screen app or game. You are completely immersed in a VR world, so it doesn't make sense to interact only through buttons or menus. You will get the most out of VR if you can interact with the world just as you would with the real world: with your natural body movements.

Sep 14th 2026
4 Weeks