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

Good to know

Know what's good
, what to watch for
, 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

Save Object-Oriented Hierarchies in Java to your list so you can find it easily later:
Save

Reviews summary

Detailed java inheritance course

Learners say this detailed and well-structured course gives helpful information and practical applications in learning about object-oriented hierarchies in Java. The course has golden knowledge with clear explanations, especially on functional interfaces and lambdas. One learner noted that they cherished this course, while another said it took them to the nature of Java Programming.
Provides helpful information
"get helpful"
Offers practical and applicable knowledge
"very practical, directly and condensed"
Well detailed and structured
"WELL DETAILED AND STRUCTURED COURSE."
Excellent coverage of functional interfaces and lambdas
"golden knowledge in this course specially on functional interfaces (lambdas expression)"
Mixed opinions on instructor's clarity
"The instructor explains very confusingly, I did not understand a lot of things."

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

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

Here are nine courses similar to Object-Oriented Hierarchies in Java.
Java Class Library
Most relevant
Introduction to Java
Most relevant
Introduction to Object-Oriented Programming with Java
Most relevant
Practice Java by Building Projects
Most relevant
Fundamentals of Object Oriented Programming in Java
Most relevant
Programming Java for Beginners - The Ultimate Java...
Most relevant
Java Fundamentals
Most relevant
Functional Programming Principles in Scala (Scala 2...
Most relevant
Object-oriented Programming in Java
Most relevant
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 - 2024 OpenCourser