关于java:具有参数默认值的构造函数

Constructors with default values of parameters

本问题已经有最佳答案,请猛点这里访问。

Java是否支持具有默认值参数的构造函数例如

1
public Shape(int v=1,int e =2){vertices =v;edges = e; }


不,Java不支持参数的默认值。您可以重载构造函数:

1
2
public Shape(int v,int e) {vertices =v; edges = e; }
public Shape() { this(1, 2); }

没有。Java不支持任何函数中的默认参数;包含构造函数。

但是,您可以定义public Shape(int v, int e)和一个默认的构造函数。

1
2
3
4
public Shape()
{
    this(1, 2);
}

注意这里的特殊语法,将构造委托给双参数构造函数。