This project is a Simple Hotel Management System built in Java using Object-Oriented Programming (OOP) principles.
It manages rooms, guests, and bookings with persistent storage via serialized files.
The system demonstrates encapsulation, inheritance, and polymorphism for clean and maintainable code.
- Room Management: StandardRoom, DeluxeRoom, and Suite
- Guest Management: Add and manage guest information
- Booking System: Check-in, check-out, and booking tracking
- File-Based Persistence: Saves all data into
save.data - Availability Tracking: Shows available vs. occupied rooms
HotelSystem– Core system controllerRoom– Base classStandardRoom– Inherits from RoomDeluxeRoom– Inherits from RoomSuite– Inherits from RoomGuest– Represents a hotel guest
The system uses Java Serialization for persistence:
- Saving Data:
Saves Rooms, Guests, and guestCount intosave.datausingObjectOutputStream - Loading Data:
Reads saved objects on startup usingObjectInputStream
This ensures all data persists between program runs.
- Clone the repository: https://github.com/Sherif453/Java-OOP-Hotel-System.git
- Open the project in IntelliJ, Eclipse, or NetBeans
- Compile and run HotelSystem.java
- Use console options to add rooms, register guests, and manage bookings
- Data is automatically saved to save.data