1

有人告诉我调用构造函数的方法是 type 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 );
    }  
4

2 回答 2

3

一个类可能有两个具有不同参数列表的构造函数。您可以使用this()从同一类的另一个构造函数调用一个构造函数。

例如

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").

于 2013-07-09T00:33:38.383 回答
0

因此,在下面的这个例子中,第一行或 one.denominator 部分是对构造函数的调用吗?:

两者都不。最后一行调用构造函数,因为您使用的是new运算符。

于 2013-07-09T00:43:24.000 回答