请教简单问题 请问java里的匿名类是怎么回事啊 能讲讲吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是只继承某个类或者实现某个接口,但是不显示规定这个类的名字最常见的就是Listener的用法JButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ }});这样写,实际上new ActionListener是new了一个自己写的类,而不是ActionListener,这个类是ActionListener的子类,但却不显示设置这个类的名称,因为没必要给他命名。 匿名类当然就是没有名字的类如有一个接口public interface IAbc{ public void A();}MyServer类中的Service方法的参数就是IAbc类型的如public class MyServer{ public void Service(IAbc abc){ //..... abc.A(); //..... }}如果在Test类中使用MyServer有两种方法:方法一:写一个IAbc的实现类,再用public class MyAbc implements IAbc{ public void A(){//......}}在访问中:MyServer server=new MyServer();server.Service(new MyAbc());方法二:就是用匿名类,也就是不写接口IAbc的实现,而在调用时直接给出接口实现代码MyServer server=new MyServer();server.Service(new IAbc(){ //这儿在声明匿名类接口实现代码 public void A(){//......} //这儿在声明接口实现代码});两种方法的差异是方法一有一个命名实现类,这个实现类可以重复使用方法二没有命名实现类,实现代码不能重用 protected Class<? extends Enum> enumClass;中的问号是什么意思? 继承初始化问题 课后作业求教 Subeclipse有没有办法在文件被编辑或保存时自动锁定呢? java多线程问题! 求Edipse的下载地址!! 字符串怎么才能转换成int类型整数啊? 请问这句话是什么意思呀,最好写代码详解。感激万分! 如何用JAVA获得局域网中的SQL Server服务器 新手提问:请大家讨论一下下面这个程序的优化。 正准备学习JAVA,拜托高手指点迷津,那些基础书比较好? swing调用dll出错
public void actionPerformed(ActionEvent e){
}
});
这样写,实际上new ActionListener是new了一个自己写的类,而不是ActionListener,这个类是ActionListener的子类,但却不显示设置这个类的名称,因为没必要给他命名。
如有一个接口
public interface IAbc{
public void A();
}
MyServer类中的Service方法的参数就是IAbc类型的如
public class MyServer{
public void Service(IAbc abc){
//.....
abc.A();
//.....
}
}
如果在Test类中使用MyServer有两种方法:方法一:写一个IAbc的实现类,再用
public class MyAbc implements IAbc{
public void A(){//......}
}在访问中:
MyServer server=new MyServer();
server.Service(new MyAbc());方法二:就是用匿名类,也就是不写接口IAbc的实现,而在调用时直接给出接口实现代码
MyServer server=new MyServer();
server.Service(new IAbc(){ //这儿在声明匿名类接口实现代码
public void A(){//......} //这儿在声明接口实现代码
}
);两种方法的差异是
方法一有一个命名实现类,这个实现类可以重复使用
方法二没有命名实现类,实现代码不能重用