在java中调用构造函数的方法

时间:2013-07-09 00:29:39

标签: java constructor

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

2 个答案:

答案 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运算符。