Sorry, this page is no longer available
Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Evan Bergman and Noel J. Bergman

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.

Read more

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.

Enroll now

What's inside

Syllabus

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.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Teaches object-oriented programming concepts and practices in Java, which are fundamental skills for software development
Builds on existing Java knowledge, making it suitable for intermediate learners
Covers core topics in object-oriented programming, including inheritance, polymorphism, and interfaces
Provides hands-on practice through exercises, which reinforces learning and improves comprehension
Requires prior knowledge of Java, which may limit accessibility for absolute beginners
Part of a specialization series, indicating a comprehensive approach to Java programming

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Mastering object-oriented hierarchies in java

According to learners, this course offers a largely positive experience for those seeking to deepen their understanding of object-oriented principles in Java. Students consistently praise the instructor's ability to clearly explain complex topics like inheritance, polymorphism, and interfaces, often noting the value of hands-on coding exercises and practical examples. While the course provides a comprehensive and in-depth exploration of these core concepts, particularly the inclusion of Java 8 features, it is crucial that learners have a strong foundation in prior Java courses or equivalent knowledge to succeed. Some students suggested a desire for more advanced project applications, but overall, it is considered highly beneficial for career-focused development.
Well-paced for qualified learners, offers a good challenge.
"The pace was perfect for me, challenging enough to learn without being overwhelming, given my prior Java knowledge."
"It moves at a good clip, so be prepared to dedicate time, especially if you're reviewing concepts."
"I found the course challenging but rewarding; the complexity matches the level needed for professional development."
In-depth coverage of OOP hierarchies and Java 8 features.
"The coverage of Java 8 features like Lambdas and functional interfaces within the context of interfaces was a valuable addition."
"I found the modules on Abstract Classes and Interfaces particularly thorough and well-explained."
"This course delves deeply into object-oriented relationships, providing a solid theoretical and practical foundation."
Hands-on coding and examples reinforce learning effectively.
"The coding exercises and practical examples were the most helpful part for me to apply what I learned."
"I appreciated the practical demonstrations of inheritance and polymorphism; it truly made the concepts stick."
"The course content is highly practical, directly applicable to real-world Java development scenarios."
Instructor excels at simplifying complex OOP concepts.
"The instructor has a great way of explaining the concepts of inheritance and polymorphism, making them easy to grasp."
"I found the lectures to be incredibly clear; the instructor broke down the material into understandable segments."
"This course finally helped me solidify my understanding of abstract classes and interfaces with truly clear explanations."
Some desire more complex projects or advanced design patterns.
"I wish there were more large-scale projects to apply all the concepts in a cohesive manner."
"Could benefit from a module on advanced design patterns that leverage these hierarchical principles."
"While great for fundamentals, I felt it could extend into more complex real-world application scenarios."
Prior Java OOP understanding is essential for success.
"You really need to have completed the first two courses, or have a strong foundation in OOP in Java, to keep up."
"I struggled initially because I underestimated the importance of the prerequisites. Make sure your basics are solid!"
"This course assumes you already know basic Java and OOP. It's not for complete beginners in Java."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Object-Oriented Hierarchies in Java with these activities:
Review O-O Programming Concepts
Revisit the fundamental concepts of object-oriented programming to strengthen your understanding.
Show steps
  • Go over your notes from previous O-O programming courses.
  • Review online resources or textbooks on O-O programming.
  • Complete practice exercises or quizzes to test your knowledge.
Review 'Head First Java' by Kathy Sierra and Bert Bates
Review the concepts and patterns of Java programming to reinforce your understanding of the fundamentals.
Show steps
  • Read through the book thoroughly.
  • Take notes on important concepts and examples.
  • Attempt the exercises and challenges provided in the book.
Explore Type Casting in Java
Practice type casting scenarios in Java to strengthen your understanding of how to safely convert between object types.
Browse courses on Type Casting
Show steps
  • Create a superclass and a subclass.
  • Cast the subclass object to the superclass type.
  • Cast the superclass object to the subclass type.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Implement Inheritance Using Java
Implement inheritance and its usage in Java to understand the concepts of subclasses and superclasses in a practical way.
Browse courses on Inheritance
Show steps
  • Create a parent class and a child class.
  • Define common properties and methods in the parent class.
  • Inherit the parent class into the child class.
  • Override methods in the child class to provide specialized behavior.
Complete Java Polymorphism Tutorials
Explore tutorials that demonstrate Java polymorphism to enhance your understanding of the concept.
Browse courses on Polymorphism
Show steps
  • Find reliable Java polymorphism tutorials online.
  • Go through the tutorials and understand the examples.
  • Practice implementing polymorphism in your own Java programs.
Practice Implementing Abstract Classes in Java
Create and implement abstract classes in Java to reinforce your understanding of abstract class concepts and their usage.
Browse courses on Abstract Classes
Show steps
  • Define an abstract class with abstract methods.
  • Create a concrete subclass that inherits from the abstract class.
  • Implement the abstract methods in the subclass.
Design a Java Interface for a Real-World Scenario
Create an interface in Java for a practical scenario, applying your understanding of interface design principles.
Browse courses on Interfaces
Show steps
  • Identify a real-world scenario that can benefit from an interface.
  • Design the interface, defining methods and properties.
  • Implement the interface in a sample class.
  • Test the implementation to ensure it adheres to the interface contract.
Participate in Java Programming Challenges
Challenge yourself by participating in Java programming contests, testing your problem-solving skills and applying your learning.
Browse courses on Java Programming
Show steps
  • Find and register for Java programming challenges or competitions.
  • Analyze the problem statement and develop a solution.
  • Code the solution in Java and submit it for evaluation.
Become a Mentor in Java Forums
By assisting others in Java forums, you can solidify your understanding while helping others learn.
Browse courses on Java Programming
Show steps
  • Join online Java forums or communities.
  • Actively participate in discussions and answer questions.
  • Provide clear and helpful explanations to learners.

Career center

Learners who complete Object-Oriented Hierarchies in Java will develop knowledge and skills that may be useful to these careers:
Java Developer
Java Developers are in charge of software development from start to finish. This course, Object-Oriented Hierarchies in Java, is particularly relevant to a Java Developer as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
Business Analyst
Business Analysts analyze business needs and develop solutions to meet those needs. This course, Object-Oriented Hierarchies in Java, may be useful for a Business Analyst as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
Technical Writer
Technical Writers develop technical content, such as user manuals, training materials, and website content. This course, Object-Oriented Hierarchies in Java, may be useful for a Technical Writer as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for testing and ensuring the quality of software and other products. This course, Object-Oriented Hierarchies in Java, may be useful for a Quality Assurance Analyst as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
Data Analyst
Data Analysts analyze data to identify trends and patterns, and provide recommendations to businesses. This course, Object-Oriented Hierarchies in Java, may be useful for a Data Analyst as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
Software Analyst
Software Analysts study how software is built and used, and work to improve and update it. This course, Object-Oriented Hierarchies in Java, may be useful for a Software Analyst as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
Computer Systems Analyst
Computer Systems Analysts study an organization's current computer systems and procedures, and work to improve them. This course, Object-Oriented Hierarchies in Java, may be useful for a Computer Systems Analyst as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
Database Administrator
Database Administrators are responsible for maintaining a database management system (DBMS) to ensure the integrity of an organization's data. This course, Object-Oriented Hierarchies in Java, may be useful for a Database Administrator as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
Information Systems Manager
Information Systems Managers oversee the planning, implementation, and management of an organization's information systems. This course, Object-Oriented Hierarchies in Java, may be useful for an Information Systems Manager as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
IT Manager
IT Managers oversee the planning, implementation, and management of an organization's information technology (IT) systems. This course, Object-Oriented Hierarchies in Java, may be useful for an IT Manager as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
Project Manager
Project Managers plan, execute, and close projects while balancing project objectives and constraints. This course, Object-Oriented Hierarchies in Java, may be useful for a Project Manager as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
Systems Analyst
Systems Analysts study business problems and develop solutions using information technology. This course, Object-Oriented Hierarchies in Java, may be useful for a Systems Analyst as it provides a foundation in Java programming, as well as how to effectively implement and use inheritance and polymorphism in this programming language.
Web Developer
Web Developers apply front-end and back-end website design knowledge to create websites that meet the needs of users. This course, Object-Oriented Hierarchies in Java, may be useful for a Web Developer as it helps build a foundation in how to use object-oriented programming concepts in Java.
Computer Programmer
Computer Programmers implement software and run tests to make sure it works as expected. This course, Object-Oriented Hierarchies in Java, may be useful for a Computer Programmer as it helps build a foundation in how to use object-oriented programming concepts in Java.
Software Engineer
Software Engineers typically build, deploy, and maintain computer software applications and systems. This course, Object-Oriented Hierarchies in Java, may be useful for a Software Engineer as it helps build a foundation in how to use object-oriented programming concepts in Java.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Object-Oriented Hierarchies in Java.
The Java Programming Language is the official specification of the Java programming language. valuable reference for any Java programmer who wants to understand the language in depth.
Effective Java book by Joshua Bloch that provides a set of best practices for writing Java code. must-read for any Java programmer who wants to write clean, efficient, and maintainable code.
Design Patterns: Elements of Reusable Object-Oriented Software book by Erich Gamma et al. that provides a catalog of design patterns. valuable resource for any software developer who wants to learn how to write reusable and maintainable code.
Java: The Complete Reference comprehensive guide to the Java programming language. It covers all aspects of Java, from the basics to advanced topics. valuable reference for both beginners and experienced programmers.
Java 10 for Beginners book by Sander Mak that provides a comprehensive guide to the new features of Java 10. valuable resource for any Java programmer who wants to learn how to use the new features of Java 10.
Java Concurrency in Practice book by Brian Goetz et al. that provides a comprehensive guide to concurrency in Java. valuable resource for any Java programmer who wants to write concurrent code.
Java 9 for Beginners book by Sander Mak that provides a comprehensive guide to the new features of Java 9. valuable resource for any Java programmer who wants to learn how to use the new features of Java 9.
Thinking in Java book by Bruce Eckel that teaches the reader how to think like a Java programmer. good resource for beginners who want to learn the fundamentals of Java.
Java: A Beginner's Guide book by Herbert Schildt that provides a comprehensive introduction to the Java programming language. good resource for beginners who want to learn the basics of Java.
Java SE 8 for the Really Impatient book by Cay S. Horstmann that provides a quick and easy introduction to the Java programming language. good resource for beginners who want to learn the basics of Java quickly.
Java for Programmers book by Paul and Harvey Deitel that provides a comprehensive introduction to the Java programming language. good resource for beginners who want to learn the basics of Java.
Head First Java best-selling book on Java programming. It uses a visual, step-by-step approach to teach the basics of Java, making it a great book for beginners. It is also a good reference for more experienced programmers who want to brush up on their Java skills.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser