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

Chris Smith
Chris Smith
547 Points

Objects from Classes

Hi,

I understand I need to create an object from a class. Though I don't understand why I need to pass variables into it when I'm creating it.

Below is the code which defines the go karts 'Name'. Couldn't I just leave the name out of it when creating the object and define the go karts 'Name' in another piece of code. Wouldn't this be better?

GoKartClass Kart = new GoKartClass("T300 L2");

System.out.printf("%s \n",Kart.isWheelCount());

I've reused the object to get the 'WheelCount' though this piece of code has nothing to do with the go karts 'Name'.

I'm just a bit confused.

Thanks, Chris

gareth o'connor
gareth o'connor
1,755 Points

You can have multiple constructors in each class. By adding a 'no argument' constructor you can achieve what you want:

public class GoKartClass {

    private String name = '';

// this is the no argument constructor
    public GoKartClass () {
    }

// this is probably similar to your existing constructor
    public GoKartClass (String name) {
        this.name = name;
    }
}

You can then create a new kart object with or without a name:

GoKartClass Kart = new GoKartClass();

or

GoKartClass Kart = new GoKartClass("T300 L2");

1 Answer

Chris Smith
Chris Smith
547 Points

Thanks for explaining it to me, you've been most helpful.

Chris