java中调用构造函数的方法
我被告知调用构造函数的方法是type object_variable=new type,即:java中调用构造函数的方法,java,constructor,Java,Constructor,我被告知调用构造函数的方法是type object_variable=new type,即: Fraction f1 = new Fraction( 2, 3 ); 但我在stackoverflow上也读到调用构造函数的方法是使用“this.”方法。哪种方式是正确的,或者两种方式都可以接受?因此,在下面的示例中,第一行或1.Denominor部分是对构造函数的调用吗 1 public static Fraction addFraction( Fraction one, Fraction t
Fraction f1 = new Fraction( 2, 3 );
但我在stackoverflow上也读到调用构造函数的方法是使用“this.”方法。哪种方式是正确的,或者两种方式都可以接受?因此,在下面的示例中,第一行或1.Denominor部分是对构造函数的调用吗
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 );
}
一个类可能有两个具有不同参数列表的构造函数。您可以使用
this()
从同一类的另一个构造函数调用一个构造函数
e、 g
创建新对象时,您永远不会使用newthis()
,只需使用newfoo()
或newfoo(“myValue”)
因此,在下面的示例中,第一行或1.Denominor部分是对构造函数的调用吗
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 );
}
都不是。最后一行调用构造函数,因为您使用的是
new
运算符。您在哪里读到this(
方法,具体来说?它主要适用于内部类型。'您只能使用this()
从另一个构造函数调用一个构造函数。这一行调用的是构造函数new分数(newNumerator,commonDenom);
:S这一点。
作为用显式外部类构造内部类(不要这样做。)/您的方法通常会有一个实例方法,称为简单的add
。称为分数和=a.add(b);
而不是分数和=Fraction.addFraction(a,b)所以在我给出的例子中,应该是“一”或“两”替换它还是它们不调用构造函数?@SophiaAli:两者都不是。this
指的是正在执行操作的实例,并且只与构造函数或实例方法相关。在您的示例中,addFraction
是一个静态方法,因此范围中没有this
。@SophiaAli:是的,有对构造函数的调用您正在调用分数的双参数构造函数。