Java错误-“无效的方法声明;需要返回类型”
我们现在正在学习如何使用多个类Java
,并且有一个项目要求创建一个Circle
包含a
radius
和a的类diameter
,然后从主类中引用它以找到直径。此代码继续收到错误(标题中提到)
public class Circle{
public CircleR(double r)
{
radius = r;
}
public diameter()
{
double d = radius * 2;
return d;
}
}
感谢您的帮助,-AJ
:好的,但是我不必将第三行声明public CircleR(double
r)为double,对吗?在我正在学习的书中,该示例没有做到这一点。
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;
}
//This is a method. It performs some action (in this case it calculates the
//area of the circle and returns it.
public double area( ) //area method
{
double a = Math.PI * radius * radius;
return a;
}
public double circumference( ) //circumference method
{
double c = 2 * Math.PI * radius;
return c;
}
public double radius; //This is a State Variable…also called Instance
//Field and Data Member. It is available to code
// in ALL the methods in this class.
}
如您所见,该代码public Circle(double r)....
与我在我的代码中有什么不同public CircleR(double
r)?无论出于什么原因,本书的代码中都没有错误,但是我的说法是那里有错误。
回答:
如您所见,代码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。
以上是 Java错误-“无效的方法声明;需要返回类型” 的全部内容, 来源链接: utcz.com/qa/397669.html