为什么编译器不会将Circle类视为实例?

时间:2012-10-09 23:54:27

标签: java

现在我试图在我的菜单类的方法中实例化Circle类(它是Shape的子类)。但问题是我不断收到编译器错误,说Circle无法解析为某种类型。换句话说,甚至不认为我的Circle类是一个实例,它只是认为它是另一个变量。我尝试在实例化中使用变量,我尝试在构造函数中使用setter。

这是我尝试实例化Circle

的菜单类中的方法
public void select_case()
    {
        switch (menu_select)
        {
            case 1: Circle c = new Circle(1);
                    break;



        }

    } 

万一你需要知道,menu_select是一个私有整数变量。

这是我的Circle类的代码。我只是展示构造函数以减少混乱。

public class Circle extends Shape 
{
    final private pi = Java.lang.Math.PI;
    //Constructor
     Circle(double r)
     {
        super(r);
     }
}

这是形状超类的代码。与圆类的代码一样,仅显示构造函数。

public abstract class Shape 
{
    private static double scaleFactor;
    private double base;
    private double radius;
    private double height;
    //Constructor for circle
    public Shape(double r)
    {
        radius = r;
    }   
    //Constructor for rectangle
    public Shape(double b, double h)
    {
        base = b;
        height = h;
    }


}

1 个答案:

答案 0 :(得分:0)

final private pi = Java.lang.Math.PI;

应该是

private final double pi = java.lang.Math.PI;

或只是

private final double pi = Math.PI;

我没有看到除此之外的代码中的任何错误。