我们现在正在学习如何使用多个类Java
,并且有一个项目要求创建一个Circle
包含a
radius
和a的类diameter
,然后从主类中引用它以找到直径。此代码继续收到错误(标题中提到)
public class Circle
{
public CircleR(double r)
{
radius = r;
}
public diameter()
{
double d = radius * 2;
return d;
}
}
感谢您的帮助,-AJ
更新1 :好的,但是我不必将第三行声明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。下面是我尝试在Intellij上运行的代码。我没想到下面的代码在执行时会有问题,因为我复制和粘贴的代码100%相似。从学习材料中可以看出,它应该工作得很顺利。我想知道这里出了什么问题?谢谢,我希望有人能向我澄清。
公共GUI错误该怎么办?它给了我无效的方法声明返回类型,这是我第一次使用GUI
问题内容: 我正在尝试实现UITableViewDataSource的必需方法,但出现一个奇怪的错误: “无效的’tableview(_:cellForRowAtIndexPath :)重新声明’” 但是我不确定是什么问题。这是相关的两行代码,即类的声明和符合协议/超类的代码: 以及触发错误的函数声明: 问题答案: 您在课堂上有两次此功能。搜索它并删除其中之一。
在执行基本方法重载程序时,我始终收到以下错误: sh-4.3 $ javac HelloWorld . Java < br > HelloWorld . Java:10:错误:方法show()已在类hello world中定义< br > static void show()< br > hello world . Java:25:错误:方法show(int,int)已在类hello world中
问题内容: 我正在在线关注CS106A的讲座。我正在阅读第12讲中的代码,但这给了我Eclipse错误。 这是我的代码。似乎错误是由于我的方法中的单词void 。我尝试删除main方法,但是没有它,Java当然无法运行。 我是一名新手,没有人解释这东西的真正含义,但有人告诉我,请不要理会它并使用它。如果有人也可以向我解释,我将不胜感激。 这个错误也出现在“ toLower”方法上。不知道这意味着什
问题内容: 有谁知道会导致这个问题的原因吗? PHP致命错误:无法重新声明类 问题答案: 这意味着您已经创建了一个类。 例如: 第二个Foo会抛出错误。