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

回到顶部