使用抽象类的组合关系-Java

时间:2016-03-21 17:04:51

标签: java inheritance abstract composition

我有两个类之间的关系:一个是抽象类区域,另一个是类 KenKen 。我在类KenKen中有一个Region类型的ArrayList。如何在Region类中访问 addValue 方法?

课程如下:

啃啃:

public class KenKen {

private ArrayList<Region> regions;

public KenKen(String filename)throws FileNotFoundException{

  //constructor
  regions = new ArrayList<Region>();
  //regions.addValue(0);//   

}


public static void main(String[] args) throws FileNotFoundException{


       KenKen kenken1 = new KenKen("input.1.txt");


  }

}

区:

public abstract class Region{

private int number = 0;
protected int target = 0;
protected ArrayList<Integer> values;

   public Region(int number , int target){

      this.number = number;
      this.target = target;

      //constructor
      values = new ArrayList<Integer>();

   }

   public void addValue(int val){

   }
   public abstract boolean verify();

   public String toString(){


   }

}

4 个答案:

答案 0 :(得分:1)

您可以使用get()方法访问列表中的区域对象。

regions.get(0).addValue(0);

答案 1 :(得分:1)

要访问ArrayList的成员,您应该使用get(int index)

  

返回此列表中指定位置的元素。

所以:

regions.get(index).addValue(0);

答案 2 :(得分:1)

regions是Regions的ArrayList,你应该做类似

的事情
    regions.get(index).addValue(x);

答案 3 :(得分:0)

您需要KenKen类中的公共方法才能访问区域列表。

public List<Region> getRegions() {
    return regions;
} 

然后你可以调用addValue()

getRegions().get(index).addValue(value);