DOES JAVA SUPPORT DEFAULT PARAMETER VALUES?

ben reitman

Total Post:96

Points:676
Posted by  ben reitman
Java 
 885  View(s)
Ratings:
Rate this:
I came across some Java code that had the following structure:

public MyParameterizedFunction(String param1, int param2)
{
    this(param1, param2, false);
}

public MyParameterizedFunction(String param1, int param2, boolean param3)
{
    //use all three parameters here
}
I know that in C++ I can assign a parameter a default value. For example:

void MyParameterizedFunction(String param1, int param2, bool param3=false);
Does Java support this kind of syntax? Are there any reasons why this two step syntax is preferable?
  1. Mayank Tripathi

    Post:397

    Points:3117
    Re: Does Java support default parameter values?

    No, the structure you found is how Java handles it (that is, with overloading instead of default parameters).

    For constructors, See Effective Java: Programming Language Guide's Item 1 tip (Consider static factory methods instead of constructors) if the overloading is getting complicated. For other methods, renaming some cases or using a parameter object can help. This is when you have enough complexity that differentiating is difficult. A definite case is where you have to differentiate using the order of parameters, not just number and type

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!