黑马程序员技术交流社区
标题: 匿名内置类的问题 [打印本页]
作者: 冯鹏飞 时间: 2011-7-23 15:01
标题: 匿名内置类的问题
匿名内置类可以继承其他类吗?可以实现接口吗?怎么没有见到过这种用法,能举例说明其使用情况吗?
作者: 王松朝 时间: 2011-7-23 15:20
匿名内部类不能继承其他类,别的还没遇到过
作者: 匿名 时间: 2011-7-23 15:34
匿名内部类就是实现的接口,继承的父类。那个new xx(){}的xx就是父类和接口的名字。而不是本身类的名字。你不要和匿名对象混淆了…手机,不方便打代码,担待
作者: 袁春龙 时间: 2011-7-23 15:39
标题: 回复 楼主 的帖子
如果要继承其实可以直接用父类去做这个匿名内置类:
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent parm1){
f.dispose();
System.exit(0);
}
});//用匿名内部类的方法增加一个事件监听器
我记得张老师将这段大妈的时候,本来是创建了一个类A继承了ActionListener类,后来为了程序的可读性就改为了匿名内置类,不过不是用A去做的,而是用他的父类ActionListener做的。
[ 本帖最后由 袁春龙 于 2011-07-23 15:46 编辑 ]
作者: 匿名 时间: 2011-7-23 15:41
匿名内置类不能再extends(继承)其它类,因为它已经隐形地extends或者implements了,多重继承是不可能的。但一个内部类可以作为一个接口,由另一个内部类实现
作者: 王松朝 时间: 2011-7-23 15:50
不好意思,弄错了,
匿名内部类并不是类,只是类的一个实例对象:
new Thread(new Runnable(){
void run(){}
});
另外,内部类是可以继承其他类和实现接口的,在方法中这样定义类也可以:::我的Eclipse没有报错,并且可以运行
(很纳闷的是我以前让内部类继承其它类时它报错,现在却又不报了)
作者: 匿名 时间: 2011-7-23 16:05
所有实现什么接口和继承什么类,在上层实现…
作者: 匿名 时间: 2011-7-23 17:19
有没有说的更详细的,最好带程序举例
作者: 匿名 时间: 2011-7-27 19:07
匿名内部类不能继承,以为没有类名,但是可以是另一个类的接口
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |