import java.util.ArrayList;
public class circleTester {
public static void showCenter(Circle2 circle) {
System.out.println(circle.getName() + "'s " + circle.getCenter());
}
public static void main (String []args) {
ArrayList<Circle2> circles = new ArrayList<Circle2>();
circles.add(new Circle2(3, 5, 4));
circles.add(new Circle2(4, 2, 5));
circles.add(new Cylinder2(5, 2, 3, 5));
circles.add(new Cylinder2(3, 4, 7, 6));
circles.add(new Oval2(6, 5, 7, 3));
circles.add(new Oval2(4, 2, 3, 1));
circles.add(new OvalCylinder2(2, 3, 4, 5, 6));
circles.add(new OvalCylinder2(3, 3, 5, 4, 7));
for (Circle2 i : circles) {
showCenter(circles(i));
}
}
}
我有四个独立的类:Circle2、Cylinder2、Oval2 和 OvalCylinder2。它们都源自 Circle2 和 OvalCylinder2。我试图将它们放入数组列表中,然后迭代数组列表并通过 showCenter 函数运行每个实例,该函数将调用两个 getter(getName 和 getCenter)来告诉您类的名称(Circle、Cylinder、椭圆形和椭圆形圆柱体),其中心位置为 (x, y)。但是,在我的 for 循环中,出现错误:
“circleTester 类型的方法circles(Circle2) 未定义” 我该如何解决这个问题?
最佳答案
使用 showCenter(i)
而不是 showCenter(circles(i))
,因为 i
已经是 Circle2< 的对象
类型
for (Circle2 circle : circles) {
showCenter(circle);
}
关于java - 如何遍历类的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51105096/