小编典典
如您所见,代码public Circle(double r)....与我在public CircleR(double
r)中所做的有什么不同?无论出于什么原因,本书的代码中都没有错误,但是我的说法是那里有错误。
在定义类的构造函数时,它们应与该类具有相同的名称。因此下面的代码
public class Circle
{
//This part is called the constructor and lets us specify the radius of a
//particular circle.
public Circle(double r)
{
radius = r;
}
....
}
你的代码是正确的
public class Circle
{
private double radius;
public CircleR(double r)
{
radius = r;
}
public diameter()
{
double d = radius * 2;
return d;
}
}
是错误的,因为构造函数的名称与其类的名称不同。您可以遵循本书中的相同代码,并从
public CircleR(double r)
至
public Circle(double r)
或者(如果您确实想将构造函数命名为CircleR),则将类重命名为CircleR。
所以你的新课应该是
public class CircleR
{
private double radius;
public CircleR(double r)
{
radius = r;
}
public double diameter()
{
double d = radius * 2;
return d;
}
}
正如Froyo和John B所指出的,我还在您的方法中添加了返回类型double。
请参阅有关构造函数的本文。
HTH。
2020-09-26