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 (Retired) Meet Objects Constructors

Keep getting declaration error.

I'm not sure why but I keep getting a declaration error. Can someone help out?

GoKart.java
public class GoKart {
  private String mColor;

  public setColor (String color) {
   mColor = color; 
  }

  public String getColor() {
    return mColor;
  }
}

2 Answers

Stone Preston
Stone Preston
42,016 Points

the task states: Add a public constructor to the GoKart.java class that allows the parameter color to be passed in. In the constructor store the argument color in the private color field.

your method looks like this:

public setColor (String color) {
   mColor = color; 
  }

that is a setter method, not a constructor. setter methods set member variables. Constructors are run whenever an object of that class is created. Generally you put code in constructors that needs to be run to set up an object for use (such as setting a member variable to an initial value etc). the task asked you to create a constructor.

in general, constructors look like this:

public ClassName() {
// do stuff
}

so to add a constructor for GoKart that accepts a parameter for the color we would use:

public GoKart(String color) {

}

then inside the method we need to set mColor to the color passed in

public GoKart(String color) {
mColor = color;
}

the full class file should look like this:

public class GoKart {
  private String mColor = "red";

  public GoKart(String color) {
    mColor = color;
  }

  public String getColor() {
    return mColor;
  }
}

thanks