Java Can´;t在我的车辆交易程序中销售卡车,1个JUnit错误(缺少抽象方法)

Java Can´;t在我的车辆交易程序中销售卡车,1个JUnit错误(缺少抽象方法),java,Java,在我的交易车辆(汽车或卡车)程序中,您可以销售单个或多个车辆并重新订购。一辆售出的汽车交付40升汽油,一辆卡车交付80升汽油。您还可以为车辆加油 -问题:它不再允许我销售卡车(以前是这样)。当我运行交互式文件并尝试销售卡车时,什么都没有发生。但对于汽车来说,它是有效的,尽管它的代码与汽车相同 我还发现教授给我们的JUnit有两个JUnit错误。以下是错误: public void testParentClass(){ CarTrader trader1 = passengerCarTra

在我的交易车辆(汽车或卡车)程序中,您可以销售单个或多个车辆并重新订购。一辆售出的汽车交付40升汽油,一辆卡车交付80升汽油。您还可以为车辆加油

-问题:它不再允许我销售卡车(以前是这样)。当我运行交互式文件并尝试销售卡车时,什么都没有发生。但对于汽车来说,它是有效的,尽管它的代码与汽车相同

我还发现教授给我们的JUnit有两个JUnit错误。以下是错误:

public void testParentClass(){
    CarTrader trader1 = passengerCarTrader;
    trader1.checkAvailability(VehicleBrand.AUDI, 1);
    trader1.isSoldVehicleType(VehicleType.PASSENGER_CAR);
    trader1.reorderVehicles(VehicleBrand.AUDI, 1);
-CarTrader类型的方法checkAvailability(int,int)未定义 -CarTrader类型的isSoldVehicleType(byte)方法未定义 -CarTrader类型的reorderVehicles(int,int)方法未定义

所以我认为这意味着抽象类不是在超类中实现的。但我如何实现它呢

公共摘要无效检查可用性(); 不起作用

它还说,“类型PassengerCarTrader必须实现继承的抽象方法IsOldVehicle、CheckAvailability、ReordVehicles

public abstract class CarTrader {

    public static final float CAPACITY_DIESEL_LITERS = 350.f;
    public static final float CAPACITY_GAS_LITERS = 180.f;
    public static final int CAPACITY_PASSENGER_CARS = 15;
    public static final int CAPACITY_TRUCKS = 8;


    float gasStockLiters=180.f;
    float dieselStockLiters=250.f;
    int passengerCarsStock=15;
    int trucksStock=8;

    int mANStock=4;
    int scaniaStock=4;
    int audiStock=4;
    int bMWStock=4;
    int opelStock=4;
    int mercedesStock=3;

    public CarTrader(){

    }

    void setGasStockLiters(float gasStockLiters){
        this.gasStockLiters=gasStockLiters;
    }

    void setDieselStockLiters(float dieselStockLiters){
        this.dieselStockLiters=dieselStockLiters;
    }

    void setPassengerCarsStock(int passengerCarsStock){
        this.passengerCarsStock=passengerCarsStock;
    }

    void setTrucksStock(int trucksStock){
        this.trucksStock=trucksStock;
    }

    int getPassengerCarsStock(){
        return passengerCarsStock;
    }

    int getTrucksStock(){
        return trucksStock;
    }
    float getGasStockLiters(){
        return gasStockLiters;
    }
    float getDieselStockLiters(){
        return dieselStockLiters;
    }
    CarTrader(int a){
        this.audiStock=a;
    }


    public Vehicle sellVehicle(byte vehicleType, int brand){

    Vehicle soldCar=null;


    switch (vehicleType){


    case 0: 

        if (this.gasStockLiters>=Vehicle.TANK_SIZE_PASSENGER_CAR){


            switch (brand) {
            case VehicleBrand.AUDI:

                if (this.audiStock>=1){
                    this.audiStock = this.audiStock - 1;
                    this.gasStockLiters = this.gasStockLiters - Vehicle.TANK_SIZE_PASSENGER_CAR;
                    this.passengerCarsStock = this.passengerCarsStock - 1;
                    soldCar = new Vehicle(VehicleType.PASSENGER_CAR);
                } else {

                    System.err.println("Nicht genug AUDI oder Benzin vorhanden");
                }
                break;
            case VehicleBrand.BMW:
                if(this.bMWStock>=1){
                    this.bMWStock = this.bMWStock -1;
                    this.gasStockLiters = this.gasStockLiters - Vehicle.TANK_SIZE_PASSENGER_CAR ;
                    this.passengerCarsStock = this.passengerCarsStock - 1;
                    soldCar = new Vehicle(VehicleType.PASSENGER_CAR);
                } else {
                    System.err.println("Nicht genug BMW oder Benzin vorhanden");
                }
                break;
            case VehicleBrand.MERCEDES:
                if (this.mercedesStock>=1){
                    this.mercedesStock = this.mercedesStock - 1;
                    this.gasStockLiters = this.gasStockLiters - Vehicle.TANK_SIZE_PASSENGER_CAR;
                    this.passengerCarsStock = this.passengerCarsStock - 1;
                    soldCar = new Vehicle(VehicleType.PASSENGER_CAR);
                } else {
                    System.err.println("Nicht genug Mercedes oder Benzin vorhanden");
                }
                break;
            case VehicleBrand.OPEL:
                if(this.opelStock>=1){
                    this.opelStock = this.opelStock -1;
                    this.gasStockLiters = this.gasStockLiters - Vehicle.TANK_SIZE_PASSENGER_CAR;
                    this.passengerCarsStock = this.passengerCarsStock - 1;
                    soldCar = new Vehicle(VehicleType.PASSENGER_CAR);

                } else {
                    System.err.println("Nicht genug Opel oder Benzin vorhanden");
                }
                break;
            default: soldCar=null;

            break;
            }
        } else {
        soldCar=null;
        }

            System.out.println("Fahrzeug(e) erfolgreich verkauft");
    break;

    case VehicleBrand.MAN:

        if (this.dieselStockLiters>=Vehicle.TANK_SIZE_TRUCK){

            switch (brand) {
            case 1://MAN
                if (this.mANStock>=1){
                    this.mANStock = (this.mANStock-1);
                    trucksStock = trucksStock - 1;
                    dieselStockLiters = dieselStockLiters - Vehicle.TANK_SIZE_TRUCK;
                    soldCar = new Vehicle(VehicleType.TRUCK);
                    System.out.println("Fahrzeug(e) erfolgreich verkauft");
                } else {
                    soldCar=null;
                    System.err.println("Nicht genug MAN-Trucks oder Diesel vorhanden");

                }
                break;
            case VehicleBrand.SCANIA:
                if(this.scaniaStock>=1){
                    this.scaniaStock = this.scaniaStock -1;
                    trucksStock = trucksStock - 1;
                    dieselStockLiters = dieselStockLiters - Vehicle.TANK_SIZE_TRUCK;
                    System.out.println("Fahrzeug(e) erfolgreich verkauft");
                    soldCar = new Vehicle(VehicleType.TRUCK);
                } else {
                    soldCar=null;
                    System.err.println("Nicht genug Scania-Trucks oder Diesel vorhanden");

                }
                break;
            default: soldCar=null;
            }

            break;
            }
        else {
            soldCar=null;
        }
    }
        return soldCar;
    }








    public Vehicle[] sellVehicles(byte vehicleType, int brand, int amount){

    Vehicle[] soldCar= new Vehicle[amount];
        boolean sold=false;

        switch (vehicleType){
        case 0:

            if(this.dieselStockLiters>=Vehicle.TANK_SIZE_TRUCK*amount){

                switch (brand) {
                case VehicleBrand.MAN://MAN
                    if (this.mANStock>=amount){
                        this.mANStock = this.mANStock - amount;
                        trucksStock = trucksStock - amount;
                        dieselStockLiters = dieselStockLiters - Vehicle.TANK_SIZE_TRUCK*amount;
                        sold=true;
                    } else {
                        System.err.println("Nicht genug MAN-Trucks oder Diesel vorhanden");
                    }
                    break;
                case VehicleBrand.SCANIA://Scania
                    if(this.scaniaStock>=amount){
                        this.scaniaStock = this.scaniaStock -amount;
                        trucksStock = trucksStock - amount;
                        dieselStockLiters = dieselStockLiters - Vehicle.TANK_SIZE_TRUCK*amount;
                        sold=true;
                        } else {
                            System.err.println("Nicht genug Scania-Trucks oder Diesel vorhanden");
                    }
                    if (sold=true){
                        for (int i=0; i<amount; i++){
                            soldCar[i]=new Vehicle(VehicleType.TRUCK);
                        }

                        System.out.println("Fahrzeug(e) erfolgreich verkauft"); 
                    }
                    if (sold=false) {
                        for (int i=0; i<amount; i++){
                        soldCar[i]=null;
                        } 
                    }
                }
            }


        case 1:

            if (this.gasStockLiters>=Vehicle.TANK_SIZE_PASSENGER_CAR*amount){


                switch (brand){
                case VehicleBrand.AUDI://AUDI
                    if (this.audiStock>=amount){
                        this.audiStock = this.audiStock - amount;
                        this.gasStockLiters = this.gasStockLiters - Vehicle.TANK_SIZE_PASSENGER_CAR*amount;
                        this.passengerCarsStock = this.passengerCarsStock - amount;
                        sold=true;
                    } else {
                        System.err.println("Nicht genug AUDI oder Benzin vorhanden");
                    }
                    break;
                case VehicleBrand.BMW://BMW
                    if(this.bMWStock>=amount){
                        this.bMWStock = this.bMWStock -amount;
                        this.gasStockLiters = this.gasStockLiters - Vehicle.TANK_SIZE_PASSENGER_CAR*amount;
                        this.passengerCarsStock = this.passengerCarsStock - amount;
                        sold=true;
                    } else {
                        System.err.println("Nicht genug BMW oder Benzin vorhanden");
                    }
                    break;
                case VehicleBrand.MERCEDES://MERCEDES
                    if (this.mercedesStock>=amount){
                        this.mercedesStock = this.mercedesStock - amount;
                        this.gasStockLiters = this.gasStockLiters - Vehicle.TANK_SIZE_PASSENGER_CAR*amount;
                        this.passengerCarsStock = this.passengerCarsStock - amount;
                        sold=true;
                    } else {
                        System.err.println("Nicht genug Mercedes oder Benzin vorhanden");
                    }
                    break;
                case VehicleBrand.OPEL://OPEL
                    if(this.opelStock>=amount){
                        this.opelStock = this.opelStock -amount;
                        this.gasStockLiters = this.gasStockLiters - Vehicle.TANK_SIZE_PASSENGER_CAR *amount;
                        this.passengerCarsStock = this.passengerCarsStock - amount;
                        sold=true;
                    } else {
                        System.err.println("Nicht genug Opel oder Benzin vorhanden");
                    }
                    break;
                }       
                    if (sold=true){
                        for (int i=0; i<amount; i++){
                            soldCar[i]=new Vehicle(VehicleType.PASSENGER_CAR);
                        }
                    System.out.println("Fahrzeug(e) erfolgreich verkauft"); 
                    }
                    if (sold=false) {
                        for (int i=0; i<amount; i++){
                        soldCar[i]=null;
                        }
             }
           }
        }
                return soldCar;


    }

    public boolean fillGas(float gas){

        boolean filled=false;

        if((gasStockLiters + gas)<=CarTrader.CAPACITY_GAS_LITERS){

            gasStockLiters = gasStockLiters + gas;
            filled=true;
        }
            else{
                System.err.println("Die Kapazität beträgt höchstens 180 Liter");
            }
        return filled;
        }

    public boolean fillDiesel(float diesel){

        boolean  filled2=false;

        if((dieselStockLiters + diesel)<=CarTrader.CAPACITY_DIESEL_LITERS){

            dieselStockLiters = dieselStockLiters + diesel; 
            filled2=true;
        }

            else{
                System.err.println("Die Kapazität beträgt höchstens 250 Liter");
            }
        return filled2;
    }


     public abstract void isSoldVehicle();

    void statusOutput()
    {
        System.out.println("AutoHändler - Lagerbestand:");
        System.out.println("    PKW: " + passengerCarsStock);
        System.out.println("Audi: " +this.audiStock);
        System.out.println("BMW: "+ this.bMWStock);
        System.out.println("Mercedes: "+ this.mercedesStock);
        System.out.println("Opel: "+ this.opelStock);
        System.out.println("LKWHändler - Lagerbestand");
        System.out.println("    LKW: " + trucksStock);
        System.out.println("MAN: "+ this.mANStock);
        System.out.println("Scania "+this.scaniaStock);
        System.out.println("Kraftstoff Lagerbestand:");
        System.out.println("    - Diesel: " + dieselStockLiters);
        System.out.println("    - Benzin: " + gasStockLiters);
    }
}

PassengerCarTrader 

    public class PassengerCarTrader extends CarTrader {





        public static final int CAPACITY_AUDI = 4;
        public static final int CAPACITY_BMW = 4;
        public static final int CAPACITY_OPEL = 4;
        public static final int CAPACITY_MERCEDES = 3;


            void setGasStockLiters(float gasStockLiters){
                this.gasStockLiters=gasStockLiters;
            }
            void setPassengerCarsStock(int passengerCarsStock){
                this.passengerCarsStock=passengerCarsStock;
            }

            int getPassengerCarsStock(){
                return passengerCarsStock;
            }

            float getGasStockLiters(){
                return gasStockLiters;
            }
            void setMercedesStock(int mercedesStock){
                this.mercedesStock=mercedesStock;
            }
            void setBMWStock(int bMWStock){
                this.bMWStock=bMWStock;
            }
            void setAudiStock(int audistock){
                this.audiStock=audistock;
            }
            void setOpelStock(int opelstock){
                this.opelStock=opelstock;
            }
            int getMercedesStock(){
                return mercedesStock;
            }
            int getBMWStock(){
                return bMWStock;
            }
            int getOpelStock(){
                return opelStock;
            }
            int getAudiStock(){
                return audiStock;
            }



            public boolean reorderVehicles(int amountVehicles, int brand){

                boolean full=false;

                if((passengerCarsStock+amountVehicles)<=CAPACITY_PASSENGER_CARS){

                    switch (brand){
                    case VehicleBrand.AUDI: 
                        if ((this.audiStock+amountVehicles)<=CAPACITY_AUDI){
                            this.audiStock += amountVehicles;
                        }
                        break;
                    case VehicleBrand.BMW:
                        if((this.bMWStock+amountVehicles)<=CAPACITY_BMW){
                            this.bMWStock += amountVehicles;
                        }
                        break;
                    case VehicleBrand.MERCEDES:
                        if((this.mercedesStock+amountVehicles)<=CAPACITY_MERCEDES){
                            this.mercedesStock += amountVehicles;
                        }
                        break;
                    case VehicleBrand.OPEL:
                        if((this.opelStock+amountVehicles)<=CAPACITY_OPEL){
                            this.opelStock += amountVehicles;
                        }
                        break;
                    default: 
                        System.err.println("Ungültige Eingabe");

                        break;
                    }
                    passengerCarsStock += amountVehicles;
                    full=true;
                }
                return full;
            }

            public void isSoldVehicleType(byte type){
                if (type==VehicleType.TRUCK){
                    System.out.println("Es handelt sich um einen Truck");
                }
                if (type==VehicleType.PASSENGER_CAR){
                    System.out.println("Es handelt sich um einen PKW");
                }
            }

            public boolean checkAvailability (int brand, int amount){

                boolean available=false;

                switch (brand){
                case VehicleBrand.AUDI: if(this.audiStock>=amount){
                    System.out.println("Die gewünschte Menge ist verfügbar");
                    available=true;
                } else {
                    System.out.println("Die gewünschte Menge ist nicht verfügbar");
                }
                case VehicleBrand.BMW: if(this.bMWStock>=amount){
                    System.out.println("Die gewünschte Menge ist verfügbar");
                    available=true;
                } else {
                    System.out.println("Die gewünschte Menge ist nicht verfügbar");
                }
                case VehicleBrand.MERCEDES: if(this.mercedesStock>=amount){
                    System.out.println("Die gewünschte Menge ist verfügbar");
                    available=true;
                } else {
                    System.out.println("Die gewünschte Menge ist nicht verfügbar");
                }
                case VehicleBrand.OPEL: if(this.opelStock>=amount){
                    System.out.println("Die gewünschte Menge ist verfügbar");
                    available=true;
                } else {
                    System.out.println("Die gewünschte Menge ist nicht verfügbar");
                }
                default:
                    System.err.println("Bitte wählen Sie 1 bis 4");
                }
                return available;
            }
    }

TruckTrader

    public class TruckTrader extends CarTrader{

    public static final int CAPACITY_MAN = 4;
    public static final int CAPACITY_SCANIA = 4;




     void setDieselStockLiters(int dieselStockLiters){
         this.dieselStockLiters=dieselStockLiters;
     }
     void setTrucksStock(int trucksStock){
         this.trucksStock=trucksStock;
     }
     void setMANStock(int mANStock){
         this.mANStock=mANStock;
     }
     void setScaniaStock(int scaniaStock){
         this.scaniaStock=scaniaStock;
     }
     float getDieselStockLiters(){
         return dieselStockLiters;
     }
     int getTrucksStock(){
         return trucksStock;
     }

     int getMANStock(){
         return mANStock;
     }
     int getScaniaStock(){
         return scaniaStock;
     }


     public boolean reorderVehicles(int amountVehicles, int brand){

            boolean full=false;

            if((trucksStock+amountVehicles)<=CAPACITY_TRUCKS){

                switch (brand){
                case VehicleBrand.MAN: 
                    if ((this.mANStock+amountVehicles)<=CAPACITY_MAN){
                        this.mANStock += amountVehicles;
                    }
                    break;
                case VehicleBrand.SCANIA:
                    if((this.scaniaStock+amountVehicles)<=CAPACITY_SCANIA){
                        this.scaniaStock += amountVehicles;
                    }
                    break;

                default: 
                    System.err.println("Ungültige Eingabe");
                    break;
                }
                trucksStock += amountVehicles;
                full=true;
            }
            return full;
        }

     public void isSoldVehicleType(byte type){
            if (type==VehicleType.TRUCK){
                System.out.println("Es handelt sich um einen Truck");
            }
            if (type==VehicleType.PASSENGER_CAR){
                System.out.println("Es handelt sich um einen PKW");
            }
        }

     public boolean checkAvailability (int brand, int amount){

            boolean available=false;

            switch (brand){
            case VehicleBrand.MAN: if(this.mANStock>=amount){
                System.out.println("Die gewünschte Menge ist verfügbar");
                available=true;
            } else {
                System.out.println("Die gewünschte Menge ist nicht verfügbar");
            }
            case VehicleBrand.SCANIA: if(this.scaniaStock>=amount){
                System.out.println("Die gewünschte Menge ist verfügbar");
                available=true;
            } else {
                System.out.println("Die gewünschte Menge ist nicht verfügbar");
            }

            }
            return available;
        }


}

VehicleBrand

    public final class VehicleBrand {

    public static final int AUDI = 1;
    public static final int BMW = 2;
    public static final int OPEL = 3;
    public static final int MERCEDES = 4;

    public static final int MAN = 1;
    public static final int SCANIA = 2;

     //This class is just an organizer for the above constants; Not instantiable.

    private VehicleBrand(){
    }
}

VehicleType

    public final class VehicleType {

    public static final byte PASSENGER_CAR = 7;

    public static final byte TRUCK = 5;


    /**
     * This class is just an organizer for the above constants; Not instantiable.
     */
    private VehicleType(){

    }

}

Vehicle

    public class Vehicle {
    public static final float TANK_SIZE_PASSENGER_CAR = 40.f;
    public static final float TANK_SIZE_TRUCK = 80.f;
    public float fuel;
    public byte mVehicleType;
    public int brand;

    public Vehicle(){}

    public Vehicle(byte vehicleType){
        this();
        if (vehicleType == VehicleType.PASSENGER_CAR){
            this.mVehicleType= VehicleType.PASSENGER_CAR ;
            this.fuel= Vehicle.TANK_SIZE_PASSENGER_CAR;

        }

        if(vehicleType == VehicleType.TRUCK){
            this.mVehicleType= VehicleType.TRUCK;
            this.fuel= Vehicle.TANK_SIZE_TRUCK;

        }
    }

    public float getFuel(){
        return this.fuel;
    }

    public byte getVehicleType(){
        return this.mVehicleType;
    }
}
公共抽象类CarTrader{
公共静态最终浮子容量柴油升=350.f;
公共静态最终浮子容量\气体\升=180.f;
公共静态最终整容乘用车=15;
公共静态最终整备能力=8辆卡车;
浮子气体贮存器=180.f;
浮式柴油机升=250.f;
int passengerCarsStock=15;
int truckstock=8;
int-mANStock=4;
int scaniaStock=4;
int audiStock=4;
int bMWStock=4;
int opelStock=4;
int-mercedesStock=3;
公共CarTrader(){
}
真空设置气体储罐(浮子气体储罐){
这个.gasStockLiters=gasStockLiters;
}
无效设定柴油储备升(浮动柴油储备升){
这个。柴油机燃料升=柴油机燃料升;
}
作废设置passengerCarsStock(int passengerCarsStock){
this.passengercastock=passengercastock;
}
作废SetTruckStock(int TruckStock){
this.truckstock=truckstock;
}
int getPassengerCarsStock(){
归还旅客股票;
}
int gettruckstock(){
归还卡车库存;
}
float getGasStockLiters(){
返回气体贮存器;
}
浮式柴油机(升){
回油柴油机;
}
卡特拉德(INTA){
这个.audiStock=a;
}
公共车辆销售车辆(字节车辆类型,国际品牌){
车辆soldCar=零;
开关(车辆类型){
案例0:
如果(此气体储罐>=车辆油箱尺寸乘用车){
开关(品牌){
案例车辆品牌奥迪:
如果(this.audiStock>=1){
this.auditock=this.auditock-1;
this.gasStockLiters=this.gasStockLiters-车辆.油箱尺寸\乘用车;
this.passengercarstock=this.passengercarstock-1;
soldCar=新车(车型:乘用车);
}否则{
系统错误println(“Nicht GEUNG AUDI ORDER BEZIN vorhanden”);
}
打破
案例车辆品牌宝马:
如果(此.bMWStock>=1){
this.bMWStock=this.bMWStock-1;
this.gasStockLiters=this.gasStockLiters-车辆.油箱尺寸\乘用车;
this.passengercarstock=this.passengercarstock-1;
soldCar=新车(车型:乘用车);
}否则{
系统错误打印(“Nicht GEUNG BMW ORDER BEZIN vorhanden”);
}
打破
案例车辆品牌梅赛德斯:
如果(this.mercedesStock>=1){
this.mercedestock=this.mercedestock-1;
this.gasStockLiters=this.gasStockLiters-车辆.油箱尺寸\乘用车;
this.passengercarstock=this.passengercarstock-1;
soldCar=新车(车型:乘用车);
}否则{
系统错误打印(“Nicht genug Mercedes Order Benzin vorhanden”);
}
打破
案例车辆品牌.欧宝:
如果(此.opelStock>=1){
this.opelStock=this.opelStock-1;
this.gasStockLiters=this.gasStockLiters-车辆.油箱尺寸\乘用车;
this.passengercarstock=this.passengercarstock-1;
soldCar=新车(车型:乘用车);
}否则{
系统错误println(“Nicht genug Opel Order Benzin vorhanden”);
}
打破
默认值:soldCar=null;
打破
}
}否则{
soldCar=null;
}
System.out.println(“Fahrzeug(e)erfolgreich verkauft”);
打破
case VehiclerBrand.MAN:
如果(此柴油机容量>=车辆油箱尺寸\卡车){
开关(品牌){
案例1://男子
如果(this.mANStock>=1){
this.mANStock=(this.mANStock-1);
卡车库存=卡车库存-1;
柴油储备升=柴油储备升-车辆、油箱和卡车尺寸;
soldCar=新车(车辆类型卡车);
System.out.println(“Fahrzeug(e)erfolgreich verkauft”);
}否则{
soldCar=null;
系统错误打印(“Nicht genug MAN卡车订购柴油vorhanden”);
}
打破
案例车辆品牌:斯堪尼亚:
如果(this.scaniaStock>=1){
this.scaniaStock=this.scaniaStock-1;
卡车库存=卡车库存-1;
柴油储备升=柴油储备升-车辆、油箱和卡车尺寸;
System.out.pr
public boolean checkAvailability(int brand, int amount) {
    // .....
}
public abstract void checkAvailability();
public abstract boolean checkAvailability(int brand, int amount);
CarTrader trader1 = passengerCarTrader;
CarTrader trader1 = New PassengerCarTrader();
public class TestCars {
    public static void main(String[] args) {
        CarTrader trader1 = new PassengerCarTrader();
        if (trader1.checkAvailability(3, 1));
    }
}
public abstract class CarTrader {
    public abstract void checkAvailability(); 
}
public class PassengerCarTrader extends CarTrader {
    public boolean checkAvailability(int brand, int amount) {
        boolean availability = false;
        // .....

        return availability;
    }
}
public class TestCars {
    public static void main(String[] args) {
        CarTrader trader1 = new PassengerCarTrader();
        if (trader1.checkAvailability(3, 1));
    }
}
abstract class CarTrader {
    public abstract boolean checkAvailability(int brand, int amount); 
}
class PassengerCarTrader extends CarTrader {
    @Override
    public boolean checkAvailability(int brand, int amount) {
        boolean availability = false;
        // .....

        return availability;
    }
}