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 Harnessing the Power of Objects Method Overloading

Thomas Rossini
Thomas Rossini
544 Points

()) purpose?

what is the purpose of this when I see it used to create a while loop or if condition ? exa: while (dispenser.dispense())
and: if (dispenser.isEmpty())

1 Answer

Steven Parker
Steven Parker
231,268 Points

Parentheses after a method name cause the method to be "called" (or "invoked"). Basically this just means the code in the method will run. If the method returns a value, that value will be substituted for the method call in the expression.

This is the same as with functions, it's not unique to object methods.

Thomas Rossini
Thomas Rossini
544 Points

I understand that , () calls a method but I'm asking about when I see the double or triple parentheses ()) ?

Steven Parker
Steven Parker
231,268 Points

There's two different things there. The matched parentheses () are for calling the method. The other closing one ) is part of the conditional expression that started right after the "while" or "if":

 if (dispenser.isEmpty())
//                    ()   <- this pair calls the method
//  (                   )  <- and this pair encloses the expression