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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 唐侠君 于 2013-12-14 18:37 编辑

了解了匿名对象的使用(new 类名()),那么有匿名函数,匿名类吗,在哪里使用?请举一下简单的例子。百度里的回答很表面,看了也理解的不是很透彻。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 淡定

查看全部评分

2 个回复

倒序浏览
我也不懂,求解.......
回复 使用道具 举报
本帖最后由 胡永城 于 2013-12-13 16:28 编辑

匿名对象也会创建一个对象实体,可以作为参数使用,函数需要函数名才可以调用,匿名类也需要类名才可以使用或者实例化,匿名函数和匿名类没有意义,所以不需要。当使用匿名类时,是把匿名类直接实例化来使用的,比如说一个函数的参数是接口类型的,在为其传递参数时,如果这个参数只使用一次(同匿名对象用法),可以new一个对象实现接口的方法。常用于监听器中。
代码示例如下:
  1. import org.junit.Test;
  2. public class DemoTest{
  3.         @Test
  4.         public void test(){
  5.                 run(new InDemo() {//此处使用了匿名类,实现接口InDemo。
  6.                         @Override
  7.                         public void onClick() {//实现接口中的方法
  8.                                 System.out.println("点击事件");
  9.                         }
  10.                 });
  11.         }
  12.         public void run(InDemo in){//定义一个函数,参数为InDemo类型
  13.                 in.onClick();//调用接口中的方法
  14.         }
  15. }
  16. interface InDemo{//接口
  17.         void onClick();
  18. }
复制代码



评分

参与人数 1黑马币 +3 收起 理由
FFF + 3 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马