错误: 匿名内部类其实也就是继承一个类,那按照多态性,不是编译器不是应该找到子类覆盖的中的 innerF ( ) 吗?
D:\java_exercise>javac AnonymousInnerClass5.javaAnonymousInnerClass5.java:25: 错误: 此处不允许使用 '空' 类型
System . out .println (aic . f ( "as"). innerF ( ) ) ;
代码如下:
class B
{
void innerF ( )
{
}
}
public class AnonymousInnerClass5
{
public B f ( String s )
{
return new B ( )
{
String ss = s ;
@Override void innerF ( )
{
System . out .println (ss) ;
}
};
}
public static void main (String [ ] args)
{
AnonymousInnerClass5 aic = new AnonymousInnerClass5 ( ) ;
System . out .println (aic . f ( "as"). innerF ( ) ) ;
}
}
1 回答
当年话下
TA贡献1890条经验 获得超9个赞
一切都是正常的,但是 innerF() 方法的返回值的 void,你却用它作为 System.out.println 的参数,这里就错了。
这一行应该是 aic.f("as").innerF() ,外面不应该再有 System.out.println 了。
添加回答
举报
0/150
提交
取消
