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