現在、メニュークラスのメソッドで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;
}
}