Welcome to this exciting journey into Object-Oriented Programming with Java! This repository is your hands-on guide to mastering OOP concepts through practical, real-world examples.
- Classes & Objects: Learn how to create blueprints for your data and bring them to life
- Inheritance: Discover the power of code reuse and building hierarchical relationships
- Polymorphism: Master the art of writing flexible and maintainable code
- Encapsulation: Understand how to protect your data and create robust applications
- Abstraction: Learn to simplify complex systems into manageable components
Each session is carefully crafted to build upon previous concepts while introducing new challenges:
- Session01-Hello: Your first steps into Java programming
- Session02-Languages: Exploring Java's fundamental language features
- Session03-Class: Deep dive into object-oriented design
- Session04-Essential: Understanding and implementing try-catch for robust error handling
- Session05-Array: Working with arrays to manage collections of data
- Session06-Inheritance: Leveraging inheritance for code reuse and organization
- Session07-Collections: Utilizing Java's Collections Framework for efficient data management
# Clone the repository
git clone https://github.com/caogiathinh/object-oriented-java.git
# Navigate to a specific session
cd Session01-Hello/HelloJava
cd Session02-Languages/LanguagesJava
cd Session03-Class/ClassJava
cd Session04-Essential/EssentialJava
cd Session05-Array/ArrayJava
cd Session06-Inheritance/InheritanceJava
cd Session07-Collections/CollectionsJava
# Compile and run using Java
javac src/hellojava/HelloJava.java
java -cp src hellojava.HelloJava- 💻 Practical, hands-on examples
- 📝 Well-documented code
- 🎯 Progressive learning path
- 🛠️ Real-world applications
- Introduction to Java programming
- Setting up development environment
- Writing your first Java program
- Basic syntax and structure
- Data types and variables
- Control structures
- Arrays and collections
- Basic input/output operations
- Functions and methods
- Classes and objects
- Constructors and methods
- Access modifiers
- Object lifecycle management
- Understanding exceptions
- Try-catch blocks
- Exception types
- Best practices for error handling
- Primitive vs. Object arrays
- Hands-on examples of array usage
- Student management system using arrays
- Inheritance concepts
- Superclasses and subclasses
- Method overriding
- Using
superkeyword
- Introduction to Java Collections
- List, Set, Map interfaces
- Common implementations (ArrayList, HashSet, HashMap)
- Iterating through collections
Each session contains practical examples and exercises to reinforce your learning. Follow the sessions in order for the best learning experience.