A collection of beginner-to-advanced examples that demonstrate the core principles of Object-Oriented Programming (OOP) using Java.
This repository is designed to help students, beginners, and interview candidates understand, practice, and master OOP with small, practical code snippets.
- β Classes & Objects
- β Encapsulation
- β Inheritance
- β Polymorphism (Overloading & Overriding)
- β Abstraction (Abstract classes & Interfaces)
- β Composition, Aggregation & Association
- β Static & Final usage
- β Constructor Overloading
- β Inner Classes
- β Enums
- β Interfaces & Multiple Inheritance
- β Design Patterns (Singleton, Factory, Strategy, Observer)
oop-concepts-examples/
β
βββ encapsulation/ # Getters/Setters, Private fields, Immutable classes
βββ inheritance/ # Parent/Child classes, Super/Override
βββ polymorphism/ # Overloading, Overriding, Interfaces
βββ abstraction/ # Abstract classes & methods, Interfaces
βββ composition/ # HAS-A relationships (Car β Engine)
βββ association/ # TeacherβStudent, DepartmentβProfessors
βββ static-final/ # Static methods, Constants
βββ constructors/ # Constructor overloading examples
βββ inner-classes/ # Static & Non-static inner classes
βββ enums/ # Day, OrderStatus enums
βββ interfaces/ # Multiple inheritance with interfaces
βββ design-patterns/ # Singleton, Factory, Strategy, Observer
git clone https://github.com/nuwanthikaishani/oop-fundamentals-java
cd oop-fundamentals-java
cd src/encapsulation
javac EncapsulationDemo.java
java EncapsulationDemo
- β Students learning Java OOP for the first time
- β QA Engineers preparing for coding interviews
- β Anyone who wants a quick refresher on OOP principles