Constructors with default values of parameters
Java是否支持具有默认值参数的构造函数例如
1
| public Shape(int v =1, int e =2){vertices =v ;edges = e ; } |
- 当你尝试时,你发现了什么?
- 不,不支持。但是您可以根据需要创建任意多的构造函数,使用不同的参数编号和类型,例如no arg public Shape()将使用默认值调用this(int, int)。此外,如果参数数目不同,也可以创建vararg构造函数。
- 下次:做一些以前的研究。尤其是当你刚接触到一门语言时:考虑到99999%的"初学者"问题都是在这里被问到的……可能无数次。不需要再添加一个副本。
- 好吧,到目前为止已经7分钟了,还没有人找到合理的副本。讨论的不是解决方案完全不同的构造函数。不要对新用户太苛刻。问题是这个网站的生命线,我认为这个是合理的。
不,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);
} |
号
注意这里的特殊语法,将构造委托给双参数构造函数。