Object-Oriented Programming (OOP) in Java is a programming paradigm that uses the concept of “objects” to design and structure programs. Java, as an OOP language, revolves around four core principles: encapsulation, inheritance, polymorphism, and abstraction.
AI-powered learning
Save this course
Learn Object-Oriented Programming in Java
Explore the fundamentals of OOP in Java. Gain insights into inheritance, polymorphism, and more to write clean, modular, reusable code through interactive exercises and practical challenges.
4.6
86 Lessons
6h
Updated 3 weeks ago
Join 2.9 million developers at
Join 2.9 million developers at
Learning Roadmap
1.
Introduction to Object-Oriented Programming
Introduction to Object-Oriented Programming
Sharpen your skills in understanding OOP principles, classes, objects, and modern programming languages like Java.
2.
Classes and Objects
Classes and Objects
Discover the logic behind Java classes, objects, access modifiers, methods, constructors, and practical challenges.
Introduction to ClassesDeclaration and ImplementationAccess ModifiersFieldsMethodsConstructorsA Bit More about ConstructorsQuizChallenge 1: Square Numbers and Return their SumSolution Review: Square Numbers and Return their SumChallenge 2: Calling a Constructor from a ConstructorSolution Review: Calling a Constructor from a ConstructorChallenge 3: Calculate the Student's Total MarksSolution Review: Calculate the Student's Total MarksChallenge 4: Calculate Distance Between PointsSolution Review: Calculate Distance Between PointsChallenge 5: Implement a Calculator ClassSolution Review: Implement a Calculator Class
3.
Project: Amazon's Top 50 Bestselling Books Dataset
Project: Amazon's Top 50 Bestselling Books Dataset
4 Lessons
4 Lessons
Break apart the dataset of Amazon's Top 50 Bestselling Books to gain insights and perform analysis.
4.
Data Hiding
Data Hiding
8 Lessons
8 Lessons
Apply your skills to encapsulate data and maintain access control in Java classes.
5.
Composition, Aggregation and Association
Composition, Aggregation and Association
11 Lessons
11 Lessons
Dig into relationships in OOP: association, aggregation, composition, and class dependencies.
6.
Project: Java Slam Dunk: Coding Skills Through Basketball
Project: Java Slam Dunk: Coding Skills Through Basketball
6 Lessons
6 Lessons
Tackle Java coding skills by building a basketball tournament system analyzing teams and players.
7.
Inheritance
Inheritance
10 Lessons
10 Lessons
Build on Java's inheritance concepts, syntax, super keyword usage, types, and advantages.
8.
Polymorphism
Polymorphism
13 Lessons
13 Lessons
Step through the core concepts of polymorphism to enhance code flexibility and manageability.
9.
Abstract Classes and Interfaces
Abstract Classes and Interfaces
9 Lessons
9 Lessons
Walk through abstract classes, interfaces, and multiple inheritance in Java with hands-on challenges.
10.
Project: Doctor on Call
Project: Doctor on Call
5 Lessons
5 Lessons
Go hands-on with coding a healthcare application, managing appointments, doctors, and patient interactions.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Complete more lessons to unlock your certificate
Developed by MAANG Engineers
ABOUT THIS COURSE
Object-oriented programming (OOP) has been around for decades. As the original object-oriented language, Java is a mainstay in the world of computer programming.
Having a foundation in OOP Java concepts will allow you to write cleaner, more modular, and more reusable code, as well as make it easier for you to understand the codebases of different companies you might be interested in joining.
Starting with the basics and reviewing complex topics like inheritance and polymorphism, this course is filled with illustrations, exercises, quizzes, and hands-on challenges. You’ll walk away with an understanding of classes and objects behavior and be able to easily create simple, efficient, reusable and secure code.
Trusted by 2.9 million developers working at companies
A
Anthony Walker
@_webarchitect_
E
Evan Dunbar
ML Engineer
S
Software Developer
Carlos Matias La Borde
S
Souvik Kundu
Front-end Developer
V
Vinay Krishnaiah
Software Developer
Built for 10x Developers
No Passive Learning
Learn by building with project-based lessons and in-browser code editor


Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go


Future-proof Your Career
Get hands-on with in-demand skills


AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"




MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies


Free Resources