A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© py强子 中级黑马   /  2013-7-22 22:58  /  1864 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 py强子 于 2013-8-3 23:12 编辑

Interface Inter
{
Void show(int a,int b);
Void func();
}
Class Demi
{
Public static void main(String[] args)
{
//补足代码,调用两个函数,要求用匿名内部类
Inter  in = New Inter()
{
Public Void show(int a,int b)
{
}
Public Void func()
{}
};
In.show(4,5);
In.func();
}
}
红色部分写的对吗?Inter  in = New Inter()还算是匿名的吗?谢谢!

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
代码没问题 Inter  in = New Inter()是匿名,只是给这个匿名起了个名字。
回复 使用道具 举报
没问题的,Inter  in = New Inter()没有内部类名字,只是用了父类的名字。记得在毕老师的视频里有讲一个类似的题,只是方法名不同
回复 使用道具 举报
代码没有问题,至于这个名字,是用父类的引用指向子类的对象(多态),因为子类已经匿名了.还有这Inner in对象只能调用父类中的方法,多态的局限性.
回复 使用道具 举报
代码没有问题,因为多态的特性可以这样给他起个名字,为的就是方便调用方法,因为匿名内部类每次只能调用一个方法,如果不这样起个名字,要想调用第二个方法还要重新写一遍去调用。不过也因为多态的特性,这里in只能调用父类对象中的方法.{:soso_e103:}没记错的话应该是这样
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马