package org.model; /* * Abstract base class for all vehicles. * This class DOES NOT implement Serviceable. * Service behavior will be defined in concrete subclasses. */ public abstract class Vehicle { private String brand; private String model; private int year; private double mileage; public Vehicle(String brand, String model, int year, double mileage) { this.brand = brand; this.model = model; this.year = year; this.mileage = mileage; } public String getBrand() {return brand;} public String getModel() {return model;} public int getYear() {return year;} public double getMileage() {return mileage;} public void addMileage(double km) { if (km < 0) System.out.println("Error: Mileage cannot be negative."); else this.mileage += km; } public abstract String getEnergyType(); public void basicInfo() { System.out.println( year + " " + brand + " " + model + " | Mileage: " + mileage + " | Energy: " + getEnergyType() ); } public abstract void showDetails(); }