匿名内部类

首先看如下代码:

//定义一个接口
interface A
{
	public void fun();
}

//tempb实现了接口A
class tempb implements A
{
	public void fun()
	{
	    System.out.println("我实现了接口A");
	}
};

class tempc
{
	public void fun2(A a)
	{
	    a.fun();
	}

	public void fun3()
	{
	    this.fun2(new tempb());  //匿名类new tempb() 实例化接口A
	}
};


public class TestInnerClass
{
	public static void main (String[] agrs)
	{
	    new tempc().fun3();
      	}
};

 如果tempb  仅仅使用1次,我们没必要单独为其创建一个类,使用匿名的即可,以上代码更改如下:

interface A
{
     public void fun();
}



class tempc
{
	public void fun2(A a)
	{
	    a.fun();
	}

	public void fun3()
	{
	    this.fun2(new A() //注意这里为  new A()
                        {
                            public void fun()
                                {System.out.println(" 匿名内部类实现接口方法");}
                        } );
	}
};


public class TestInnerClass
{
	public static void main (String[] agrs)
	{
	   new tempc().fun3();
     	}
};

 在后续的Spring框架中可以经常看到类似的匿名内部类的使用方法...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值