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類。Java匿名類的用法
你爲什麼期望它打印「我在裏面」?您沒有構造函數,但在匿名類中有一個名稱爲「Circle」的方法。 –