使用抽象类Java实现组合关系

使用抽象类Java实现组合关系,java,inheritance,abstract,composition,Java,Inheritance,Abstract,Composition,我有两个类之间的关系:一个是抽象类Region,另一个是类KenKen。我在KenKen类中有一个Region类型的数组列表。如何访问Region类中的方法addValue 课程如下: 肯肯: public class KenKen { private ArrayList<Region> regions; public KenKen(String filename)throws FileNotFoundException{ //constructor regions =

我有两个类之间的关系:一个是抽象类Region,另一个是类KenKen。我在KenKen类中有一个Region类型的数组列表。如何访问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");


  }

}
公共类KenKen{
私有ArrayList区域;
public KenKen(字符串文件名)引发FileNotFoundException{
//建造师
regions=newarraylist();
//regions.addValue(0);//
}
公共静态void main(字符串[]args)引发FileNotFoundException{
kenken1=新的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(){


   }

}
公共抽象类区域{
私有整数=0;
受保护的int目标=0;
受保护的ArrayList值;
公共区域(整数编号,整数目标){
这个数字=数字;
this.target=目标;
//建造师
值=新的ArrayList();
}
公共void addValue(int val){
}
公共抽象布尔验证();
公共字符串toString(){
}
}
您可以使用
get()
方法访问列表中的区域对象

regions.get(0).addValue(0)

要访问成员,您应该使用:

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

因此:


区域是区域的数组列表,您应该执行以下操作

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

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

public List<Region> getRegions() {
    return regions;
} 
public List<Region> getRegions() {
    return regions;
} 
getRegions().get(index).addValue(value);