【发布时间】:2013-11-06 12:26:55
【问题描述】:
package wrap;
public class Anonymous {
public Circle getCircle(int radius){
return new Circle(radius){
private int rad;
public double area() {
return 3.14*rad*rad;
}
};
}
public static void main(String[] args) {
Anonymous p = new Anonymous();
Circle w = p.getCircle(10);
System.out.println(w.area());
}
}
class Circle {
private int rad;
public Circle(int radius) {
rad = radius;
}
public double area() {
return rad*rad;
}
}
我在getcircle方法中创建了Circle的匿名内部类,但是调用getcircle方法并没有显示“我在里面”。为什么会这样??匿名类应该覆盖外部的 Circle 类。
【问题讨论】:
-
你为什么期望它打印
"I am inside"?您没有构造函数,而是匿名类中名称为Circle的方法。
标签: java inner-classes anonymous-class