【发布时间】:2012-01-07 03:02:06
【问题描述】:
我有一个关于在构造函数中使用对象作为变量的问题。这可能很简单,但我真的想不出该怎么做,而且我的 Java 书并没有真正的帮助。说我想这样做
Fraction f3 = new Fraction(1, 2);
Fraction f5 = new Fraction(f3);
我的第一个对象的构造函数是:
public Fraction(int n, int d)
{
if (d == 0)
{
numerator = 0;
denominator = 1;
System.err.println("Error: Invalid Denominator (" + d + ")");
}
else if (d < 0)
{
int nn = Math.abs(n) * (-1);
numerator = nn;
denominator = Math.abs(d);
}
else
{
numerator = n;
denominator = d;
}
}
我的第二个对象的构造函数是这样的:
public Fraction(Fraction f)
{
}
我想不出如何定义构造函数来让它设置一个新对象作为给定的对象。如果有人能帮我一把,或者给我一些建议,让我走上解决这个问题的道路,我将不胜感激。
【问题讨论】:
-
如果n=-1,d=-1,分子设置为-1,分母设置为1,是不是故意的?请注意,
Math.abs除了测试“argumentd<0,你调用Math.abs(d),为什么不写-d?
标签: java object constructor