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 Creating Classes

Jun Dong
Jun Dong
4,754 Points

Help this is confusing me

PezDispenser dispenser = new PezDispenser("Yoda");

class PezDispenser { final private String characterName;

public PezDispenser(String characterName) { this.characterName = characterName; }

public String getCharacterName(){ return characterName; }

}

So he made an object called dispenser using the class PezDispenser, and he used the new PezDispenser for the public PezDispenser(String characterName) { this.characterName = characterName;?

1 Answer

Steven Parker
Steven Parker
229,952 Points

You're right up to "... and he used the new ...", but from there on I'm not quite sure what you're saying. The rest of that sentence appears to be a copy of the code for the constructor function.

Jun Dong
Jun Dong
4,754 Points

Yeah what I said was kind of confusing, I was trying to say did he use the new PezDispenser he created for the public PezDispenser

Steven Parker
Steven Parker
229,952 Points

I'm still not quite sure what you're asking. But the only object created is the one named "dispenser". The rest of the code you are referring to just defines the class.

Jun Dong
Jun Dong
4,754 Points

okay can you explain this line of code for me? PezDispenser dispenser = new PezDispenser("Yoda"); please explain why he needed to write new PezDispenser("Yoda"), I don't understand what new PezDispenser mean.

Steven Parker
Steven Parker
229,952 Points

You explained it yourself when you said "he made an object called dispenser using the class PezDispenser" β€” the "new PezDispenser" part means make a new object using the class "PezDispenser".