public class CircleArray {
class Circle {
int radius;
public Circle(int radius) {
this.radius = radius;
}
public double getArea() {
return 3.14*radius*radius;
}
}
public static void main(String[] args) {
Circle[] c;
c = new Circle[5];
for(int i = 0; i < c.length; i++)
c[i] = new Circle(i); //complie error
for(int i = 0; i < c.length; i++)
System.out.println((int)c[i].getArea() + " ");
}
}
我不知道为什么这种语法会导致编译错误。
我可以通过擦除Circle类并在CircleArray外部编写来解决此问题, 但是我想知道为什么这个错误是由于推理而发生的。