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

I'm stuck with this question can anyone please post the answer and explain it.

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.

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

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

  public String getColor() {
    return mColor;
  }
}
Jorge Paredes Cimadevilla
Jorge Paredes Cimadevilla
3,068 Points

A constructor is a method within a class that allows you to create objects of that class.

In this specific case we want to create GoKart objects.

Declaring a constructor is similar to declaring a method, except that constructors do not have a return type.

We want our constructor to be public, and a color parameter to be passed in.

We also want the color parameter that we passed to be stored in our mColor private variable.

In this particular case then, our GoKart constructor would look like this:

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

1 Answer

Pauliina K
Pauliina K
1,973 Points

A constructor makes it possible to create objects of a specific class. In this example we want to make more GoKarts, but in different colors.

It should look something like this:

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

What this means is: it's a public class, so everyone can access it. And it's called the same as the class, GoKart, because we are making new GoKarts, right? Its parameter is -color-, which is a string, and on the line under we declare that -color- is the same as mColor (thereby storing it in the private variable). Also, color is written with lowercase letters. Does this make sense?