[求助]内部类super调用问题 急
请教一下以下代码会返回什么?谢谢!class aaa
{
public Wrapping wrap(int x)
{
return new Wrapping(x)
{
public int value()
{
return super.value() * 47; //这句总调super.value()不会产生循环吗?
System.out.println(super.value() * 47); //这里应该返回几?
}
};
}
public static void main(String[] args)
{
aaa p = new aaa();
Wrapping w = p.wrap(10);
}
}
----------------解决方案--------------------------------------------------------
wrapp的代码是什么?
----------------解决方案--------------------------------------------------------
wrap的代码就是
public Wrapping wrap(int x) //这是一个返回Wrapping类型的wrap方法
{
return new Wrapping(x)
{
public int value()
{
return super.value() * 47; //这句总调super.value()不会产生循环吗?
System.out.println(super.value() * 47); //这里应该返回几?
}
};
}
----------------解决方案--------------------------------------------------------
我是问你的Wrapping这个类的代码
你那个不会产生循环
你用的是递归 总要有一个确定的值啊!!
----------------解决方案--------------------------------------------------------
我也是从书上看的..不知道什么叫递归,但这个例子的大概意思是
new Wrapping()
{
}
实际返回的是一个Wrapping的衍生类..书上就写了这么多代码.
我就是看不太明白...
----------------解决方案--------------------------------------------------------