Java Object-Oriented Programming
2h 4mBeginner2023-11-13
Authors

Kathryn Hodge
Software Developer
Course details
Are you familiar with Java but want to get the most out of your Java programs? In this course, Kathryn Hodge teaches the basics of object-oriented programming in Java, so you can write code that’s secure, scalable, and easier to troubleshoot. Kathryn begins by showing how object-oriented principles are embedded into the Java language from the first code file you create. She looks at how classes, instances, and constructors embody the idea of representing real-life objects in code. Kathryn not only shows how to apply object-oriented principles in your own programs, but also explains how Java leverages these principles behind the scenes. While many resources about object-oriented programming focus on abstract examples, the goal of this course is to get away from the abstract and focus more on practical examples of these principles in Java. Along with deep dives into the source code, this course also provides several challenges and solutions to help you apply what you’ve learned.
Skills covered
Object-Oriented ProgrammingJavaOracleProgramming LanguagesSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Why learn about object-oriented programming in Java
- 02 - What is object orientation
1. Classes and Objects in Java
- 03 - Using classes as blueprints
- 04 - Building objects with a constructor
- 05 - Using concrete instances for application logic
- 06 - Understanding the difference between class and instance members
- 07 - Exploring a built-in Java class
- 08 - Challenge - Build an employee class
- 09 - Solution - Build an employee class
2. Encapsulation in Java
- 10 - What is encapsulation
- 11 - Discovering access modifiers
- 12 - Implementing encapsulation with access modifiers
- 13 - Exploring encapsulation in Java string class
- 14 - Challenge - Banking application
- 15 - Solution - Banking application
3. Inheritance in Java
- 16 - What is inheritance
- 17 - Leveraging different types of inheritance
- 18 - Using inheritance to reduce code duplication
- 19 - Discovering inheritance in foundational Java classes
- 20 - Challenge - Reduce redundant code with inheritance
- 21 - Solution - Reduce redundant code with inheritance
4. Polymorphism in Java
- 22 - What is polymorphism
- 23 - Writing reusable algorithms with runtime polymorphism
- 24 - Exploring different forms in a single object
- 25 - Accessing specific object forms with instanceof
- 26 - Writing flexible code with compile-time polymorphism
- 27 - Exploring how built-in Java classes use polymorphism
- 28 - Challenge - Reduce complexity with polymorphism
- 29 - Solution - Reduce complexity with polymorphism
5. Abstraction in Java
- 30 - What is abstraction
- 31 - Using abstract classes in Java to reduce code complexity
- 32 - Using interfaces in Java to provide conformity
- 33 - Discovering abstraction in Java source code
- 34 - Challenge - Leverage abstraction to write simpler applications
- 35 - Solution - Leverage abstraction to write simpler applications
Conclusion
- 36 - Identifying code smells and anti-patterns in OOP code
- 37 - Next steps
Related courses
- Python Code Challenges for Object-Oriented Programming
- Python Object-Oriented Programming
- Programming Foundations: Object-Oriented Design
- Discovering .NET Aspire
- Getting Started with Python Object Oriented Programming: A Hands-On Approach
- Advanced Python: Object-Oriented Programming
- Python Practice: Object-Oriented Programming
- Treating Go as an Object-Oriented Language