0

現在、メニュークラスのメソッドでCircleクラス(Shapeのサブクラス)をインスタンス化しようとしています。しかし、問題は、Circleを型に解決できないというコンパイラエラーが発生し続けることです。言い換えれば、inは私のCircleクラスをインスタンスとして認識すらしません。それは、それが別の変数であると考えるだけです。インスタンス化で変数を使用してみましたが、コンストラクターでセッターを使用してみました。

これが、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;
    }


}
4

1 に答える 1

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

する必要があります

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

あるいは単に

private final double pi = Math.PI;

これ以外のコードにはエラーはありません。

于 2012-10-09T23:58:46.197 に答える