您的位置:首页 > 其它

匿名内部类的demo演示(匿名内部类持有外部类的实例引用)

2017-03-22 10:17 190 查看


匿名内部类:

匿名内部类是在抽象类和接口的基础之上发展起来的。

Java代码  


package com.iflytek.innerclass;  
  
/** 
 * @author xudongwang 2012-1-11 
 *  
 *         Email:xdwangiflytek@gmail.com 
 */  
public class NoNameClass01 {  
    public static void main(String[] args) {  
        new X().fun2();  
    }  
}  
  
interface A {  
    public void fun();  
}  
  
class B implements A {  
    public void fun() {  
  
        System.out.println("Hello 准备匿名内部类");  
    }  
}  
  
class X {  
    public void fun1(A a) {  
        a.fun();  
    }  
  
    public void fun2() {  
        this.fun1(new B());  
    }  
}  


通过上面的Demo,如果现在假设B类只使用一次,那么还有必要将其定义成一个单独的类么?

 呵呵,此时就可以使用匿名内部类:

Java代码  


package com.iflytek.innerclass;  
  
/** 
 * @author xudongwang 2012-1-11 
 *  
 *         Email:xdwangiflytek@gmail.com 
 */  
public class NoNameClass02 {  
  
    public static void main(String[] args) {  
        new XX().fun2();  
    }  
}  
  
interface AA {  
    public void fun();  
}  
  
class XX {  
    public void fun1(AA a) {  
        a.fun();  
    }  
    public void fun2() {  
        this.fun1(new AA() {  
            public void fun() {  
                System.out.println("Hello 准备匿名内部类");  
            }  
        });  
    }  
}  
http://blog.csdn.net/zzjjiandan/article/details/9189943
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐