Java Java Objects Harnessing the Power of Objects Overload Methods

Don't know how to do this challenge: Create a new method named drive that accepts no arguments.

I'm not sure what to do next. any help?

GoKart.java
class GoKart {
  public static final int MAX_BARS = 8;
  private String color;
  private int barCount;
  private int lapsDriven;

  public GoKart(String color) {
    this.color = color;
  }

  public String getColor() {
    return color;
  }
  public void charge() {
    barCount = MAX_BARS;
  }

  public boolean isBatteryEmpty() {
    return barCount == 0;
  }

  public boolean isFullyCharged() {
    return MAX_BARS == barCount;
  }

  public void drive() {
    drive(MAX_BARS)
  }


  public void drive(int lapAmount) {
    lapsDriven+= lapAmount;
    barCount-= lapAmount;
  }
}

2 Answers

Daniel Turato
PRO
Daniel Turato
Java Web Development Techdegree Graduate 30,105 Points

So you need to create a separate new drive method that takes 0 parameters/arguments. This method then should call the original drive method by passing in 1 as it's parameter. This concept is called method overloading, you can read more about it here - https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html. With that being said, this is what I got:

public void drive() {
    drive(1);
} 

Thanks, tho i had to assign MAX_BARS = 1 inside the drive method : public void drive() { drive(MAX_BARS = 1); }