有人告诉我,调用构造函数的方法是object_variable = new type,即:
Fraction f1 = new Fraction( 2, 3 );
但我也读过stackoverflow,调用构造函数的方法是使用" this。"方法。哪种方式正确或两种方式都可以接受?因此,在下面的示例中,第一行或one.denominator部分是对构造函数的调用吗?:
1 public static Fraction addFraction( Fraction one, Fraction two ) {
2 int commonDenom = one.denominator * two.denominator;
3 int newNumerator = one.numerator * two.numerator +
4 two.numerator * one.numerator;
5 return new Fraction( newNumerator, commonDenom );
}
答案 0 :(得分:3)
一个类可能有两个具有不同参数列表的构造函数。您可以使用this()
从同一类的另一个构造函数中调用一个构造函数。
e.g。
public class Foo {
private final String value;
public Foo() {
this("default");
}
public Foo(String value) {
this.value = value;
}
}
创建新对象时,绝不会使用new this()
,只需new Foo()
或new Foo("myValue")
。
答案 1 :(得分:0)
因此,在下面这个例子中,第一行或one.denominator部分是对构造函数的调用吗?:
都不是。 last 行调用构造函数,因为您使用的是new
运算符。