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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯鹏飞 黑马帝   /  2011-7-23 15:01  /  2394 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

匿名内置类可以继承其他类吗?可以实现接口吗?怎么没有见到过这种用法,能举例说明其使用情况吗?

评分

参与人数 1技术分 +2 收起 理由
小龙 + 2 看看童鞋们怎么答的!

查看全部评分

8 个回复

倒序浏览
匿名内部类不能继承其他类,别的还没遇到过
回复 使用道具 举报
黑马网友  发表于 2011-7-23 15:34:21
藤椅
匿名内部类就是实现的接口,继承的父类。那个new xx(){}的xx就是父类和接口的名字。而不是本身类的名字。你不要和匿名对象混淆了…手机,不方便打代码,担待

评分

参与人数 1技术分 +1 收起 理由
小龙 + 1 理解!

查看全部评分

回复 使用道具 举报

回复 楼主 的帖子

如果要继承其实可以直接用父类去做这个匿名内置类:

btn.addActionListener(new ActionListener(){


public void actionPerformed(ActionEvent parm1){


f.dispose();


System.exit(0);


}


});//用匿名内部类的方法增加一个事件监听器


我记得张老师将这段大妈的时候,本来是创建了一个类A继承了ActionListener类,后来为了程序的可读性就改为了匿名内置类,不过不是用A去做的,而是用他的父类ActionListener做的。
[ 本帖最后由 袁春龙 于 2011-07-23  15:46 编辑 ]

评分

参与人数 1技术分 +1 收起 理由
小龙 + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-23 15:41:00
报纸
匿名内置类不能再extends(继承)其它类,因为它已经隐形地extends或者implements了,多重继承是不可能的。但一个内部类可以作为一个接口,由另一个内部类实现

评分

参与人数 1技术分 +1 收起 理由
小龙 + 1 只能加一分哦!

查看全部评分

回复 使用道具 举报
不好意思,弄错了,
匿名内部类并不是类,只是类的一个实例对象:
new Thread(new Runnable(){
void run(){}
});
另外,内部类是可以继承其他类和实现接口的,在方法中这样定义类也可以:::我的Eclipse没有报错,并且可以运行
(很纳闷的是我以前让内部类继承其它类时它报错,现在却又不报了)

评分

参与人数 1技术分 +1 收起 理由
小龙 + 1 只能加一分!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-23 16:05:48
7#
所有实现什么接口和继承什么类,在上层实现…
回复 使用道具 举报
黑马网友  发表于 2011-7-23 17:19:24
8#
有没有说的更详细的,最好带程序举例
回复 使用道具 举报
黑马网友  发表于 2011-7-27 19:07:25
9#
匿名内部类不能继承,以为没有类名,但是可以是另一个类的接口
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马