Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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_Overloading - Fatal编程技术网

构造函数方法重载Java

构造函数方法重载Java,java,constructor,overloading,Java,Constructor,Overloading,我正在尝试创建一个非常简单的Rational类 如果在主要方法中调用Rational(2),那么num=2和den=1 如果调用Rational(2,4)那么num=2和den=4 这是我的密码: public class Rational { public long num; public long den; Rational(long arg1, long arg2){ num = arg1; den = arg2

我正在尝试创建一个非常简单的Rational类

如果在主要方法中调用
Rational(2)
,那么
num=2
den=1

如果调用
Rational(2,4)
那么
num=2
den=4

这是我的密码:

public class Rational {

    public long num;    
    public long den;

    Rational(long arg1, long arg2){

        num = arg1;    
        den = arg2;

    }

    Rational(long arg1){

        long x = 1;
        Rational(arg1, x);  //Rational(long, long) is undefined for type Rational

    }

}
我已经评论了错误消息,我不知道如何修复

有什么建议吗

this(arg1, 1);
使用
this
关键字调用另一个构造函数,类似于使用
super
的方式。它还必须是构造函数体中的第一条语句。因为它是第一个,所以您必须在示例中更改传入
x
的方式


使用
this
关键字调用另一个构造函数,类似于使用
super
的方式。它还必须是构造函数体中的第一条语句。由于它是第一个,您必须在示例中更改传入
x
的方式。

您需要使用
this
关键字,但它必须是构造函数中的第一条语句,因此在此之前无法定义
x

this(arg1, 1); 

您需要使用
this
关键字,但它必须是构造函数中的第一条语句,因此在此之前无法定义
x

this(arg1, 1);