构造方法重载Java

Gre*_*ory 1 java constructor overloading

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

如果,在主要方法中,一个调用Rational(2)然后num = 2den = 1

如果一个电话Rational(2, 4),然后num = 2den = 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

    }

}
Run Code Online (Sandbox Code Playgroud)

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

有什么建议?

Rei*_*eus 7

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

this(arg1, 1); 
Run Code Online (Sandbox Code Playgroud)