非常简单的Rational class I尝试创建。
如果在主要方法中,有人调用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
}
}
我已经评论了错误消息,我不知道如何修复。
有什么建议吗?
答案 0 :(得分:7)
您需要使用this
关键字,但它必须是构造函数中的第一个语句,因此在此之前无法定义x
this(arg1, 1);
答案 1 :(得分:2)
this(arg1, 1);
使用this
关键字调用其他构造函数,类似于使用super
的方式。它也必须是构造函数体中的第一个语句。由于它是第一个,因此您必须在示例中更改传递x
的方式。