DOES JAVA SUPPORT DEFAULT PARAMETER VALUES?

ben reitman

Total Post:96

Points:676
Posted by  ben reitman
Java 
 1103  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

      Modified On Apr-09-2018 10:56:11 PM

Answer

NEWSLETTER

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