- 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
Car
andBike
classes.
To create a mini Java application that manages different vehicle types and showcases:
- Encapsulation through private fields & getters/setters
- Inheritance with a
Vehicle
base class and specializedCar
&Bike
classes - Method overriding for vehicle-specific details
- Upcasting and safe downcasting
Vehicle
class 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
Car
orBike
objects asVehicle
references. - 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