Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中调用构造函数的方法_Java_Constructor - Fatal编程技术网

java中调用构造函数的方法

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

我被告知调用构造函数的方法是type object_variable=new type,即:

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:是的,有对构造函数的调用您正在调用
分数的双参数构造函数。