如何从另一个类的另一个公共整数中调用一个公共整数?

时间:2019-10-21 22:33:12

标签: java

我正在为班级分配作业,并且正在为班级分配作业,以使我们尽可能多地调用其他班级的项目。我正在尝试从另一个公共int调用public int side(int number),但这不会让我这么做。

我根本无法重新排列代码以编辑public int端,因为它已包含在作业中

package lab6_carl6188;

class Polygon 
{ 
  private int[] sideLengths; 

  public Polygon(int sides, int ... lengths) 
  { 
    int index = 0; 
    sideLengths = new int[sides]; 
    for (int length: lengths) 
    { 
      sideLengths[index] = length; 
      index += 1; 
    } 
  } 

  public int side(int number) 
  { 
    return sideLengths[number]; 
  } 

  public int perimeter() 
  { 
    int total = 0; 
    for (int index = 0; index < sideLengths.length; index += 1) 
    { 
      total += side(index); 
    } 
    return total; 
  } 
}

class Rectangle{
    private int[] sideLengths;
    public Rectangle(int length1, int length2) {
        sideLengths[0] = length1;
        sideLengths[1] = length2;
    }
    public int area() {
        int total = 1;
        for(int x = 0; x < sideLengths.length; x++) {
            total = total * Polygon.side(x);
        }
    }

    }

}

这整个块是代码。我不允许以任何方式编辑类Polygon。

public int side(int number) 
  { 
    return sideLengths[number]; 
  } 

是我想称呼的,我这样称呼:

public int area() {
        int total = 1;
        for(int x = 0; x < sideLengths.length; x++) {
            total = total * Polygon.side(x);
        }
    }

我的错误是“无法从Polygon类型静态引用非静态方法side(int)”

1 个答案:

答案 0 :(得分:2)

Polygon.side不是静态方法。这意味着您不能在类对象上调用它,而是需要创建该类的实例。

Polygon polygon = new Polygon();
polygon.side(x);