使用抽象类Java实现组合关系
我有两个类之间的关系:一个是抽象类Region,另一个是类KenKen。我在KenKen类中有一个Region类型的数组列表。如何访问Region类中的方法addValue 课程如下: 肯肯:使用抽象类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 =
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);