我创建了一个类的对象:
Rectangle rec = new Rectangle(2,4);
我的矩形和高度为2,宽度为4。
但是无论如何我可以在我的代码中调用no arg构造函数而不创建新对象吗?
不这样做:
Rectangle rec2 = new Rectangle();
答案 0 :(得分:2)
通常,这表示您需要重构构造函数,以使两个或多个构造函数共有的所有代码都包含在单独的(非构造函数)方法中。
答案 1 :(得分:1)
构造函数按其定义创建新对象。
如果你不再需要rec
,只要Rectangle没有arg构造函数,你就可以rec = new Rectangle()
。
或者您只想替换当前矩形的值?如果是这样,只需通过setter进行更改即可创建一个更新两个值的方法......
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以在方法中设置Object的基本属性,并在构造函数中调用该方法
或
在你的情况下使用rec = null; rec = new Rectangle(); //如果不需要Rectangle(2,4)
答案 4 :(得分:0)
不,你只能调用一个构造函数。
如果要覆盖坐标,可以使用setBounds
方法,例如
rec.setBounds(0,0,0,0);
但除非您正在开发手机游戏,否则重新使用旧矩形并没有太大意义,而且创建一个新矩阵也更简单。
答案 5 :(得分:0)
你绝对可以,这是
public class Example {
//no arg constructor
public Example() {
//your code
}
//constructor with argument
public Example(String arg) {
//call the no arg constructor
this();
//do something else
}
}