Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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