欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

匿名内部类

程序员文章站 2022-03-07 11:08:24
...

首先看如下代码:

//定义一个接口
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框架中可以经常看到类似的匿名内部类的使用方法...

相关标签: Spring 框架