- A beginner-friendly Java OOP project that models a simple Vehicle Management System.
- It focuses on demonstrating Encapsulation, Inheritance, Method Overriding and Upcasting/Downcasting in real-world scenarios using
CarandBikeclasses.
To create a mini Java application that manages different vehicle types and showcases:
- Encapsulation through private fields & getters/setters
- Inheritance with a
Vehiclebase class and specializedCar&Bikeclasses - Method overriding for vehicle-specific details
- Upcasting and safe downcasting
Vehicleclass has private fields:brand(String)speed(int)
- Public getter & setter methods control access.
- Subclasses:
Car→ extra field:fuelType(String)Bike→ extra field:engineCC(int)
- Each subclass overrides
showDetails()to print vehicle-specific data.
- Upcasting: Treat
CarorBikeobjects asVehiclereferences. - Downcasting: Access subclass-specific fields safely after type checking.
├── src/
│ └── vms/
│ ├── Vehicle.java
│ ├── Car.java
│ ├── Bike.java
│ ├── Main.java
│ └── module-info.java
├── bin/ # Compiled .class files
├── .classpath
├── .project
├── README.md
└── .settings/- Eclipse
The car fuel type is petrol
The engine cc of bike is 250
Enfield
100