为了账号安全,请及时绑定邮箱和手机立即绑定

下面这个简单的程序验证匿名内部类的多态属性,但出现错误。

下面这个简单的程序验证匿名内部类的多态属性,但出现错误。

吃鸡游戏 2019-02-17 17:04:38
错误: 匿名内部类其实也就是继承一个类,那按照多态性,不是编译器不是应该找到子类覆盖的中的 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 了。

查看完整回答
反对 回复 2019-03-01
  • 1 回答
  • 0 关注
  • 584 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号