Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Java Objects Meet Objects Add a Constructor

I dont understand why we need a constructor

We have

private String color;

and we can return it with our method why we need a constructor that sets the color to color?

GoKart.java
class GoKart {
  private String color;

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

  public String getColor() {
    return color;
  }

}

1 Answer

Color is a private variable and therefore not accessible outside the class. This is where the getters and setters come in. They help you to modify or read the variables. The constructor itself can be designed in the way you like to set up all the variables in on step. You designed a default constructor with a String you are passing. but you could also have it empty, set a default color and later and pass a new one with a setter-method.

class GoKart {
   private String mColor;

   public GoKart () {
      mColor = "Black";
   }

   public void setColor(String someColor) {
      mColor = someColor;
   }

   public String getColor() {
      return mColor;
   }
}