答案 0 :(得分:1)
您需要了解scope的概念。仅仅因为您在程序中的某个位置定义了一个变量(例如RAD),并不意味着该变量在其他位置(例如“ getRadius()”)可用。
例如:
public class Circle extends Shape {
private double radius;
...
public double getRadius() { return radius; }
...
之所以可行,是因为我已将“半径”定义为member variable。在这个类对象的任何地方都可以看到“半径”,而在其外部则完全不可用。
scope的一个例子。
答案 1 :(得分:0)
在方法getRadius()中,您将返回本地方法中未定义的变量RAD作为参数,并且它不是类变量,因此该方法中RAD是未知的。
我想您要的是“返回半径”,而不是“返回RAD”。
答案 2 :(得分:0)
在方法getRadius的范围内未声明RAD。您应该返回radius,而不是RAD。代码中的另一个观察结果,circle()被定义为方法,而它应该是构造函数。