1

コンストラクターを呼び出す方法は type object_variable = new type であると言われました。

Fraction f1 = new Fraction( 2, 3 );

しかし、コンストラクターを呼び出す方法が「this」を使用していることもstackoverflowで読みました。方法。どちらの方法が正しいですか、または両方の方法が受け入れられますか? したがって、以下の例では、最初の行または 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

クラスには、異なる引数リストを持つ 2 つのコンストラクターを含めることができます。を使用this()して、同じクラスの別のコンストラクターから 1 つのコンストラクターを呼び出すことができます。

例えば

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 に答える