您的位置:首页 > 编程语言 > Java开发

java学习之路----内部类之---匿名内部类

2013-11-19 13:41 381 查看
 匿名内部类就是指一种没有具体名称的类

看代码:

[align=left]interface FF{//定义一个接口[/align]
[align=left]     [/align]
[align=left]      public void info();[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]class Bbn implements FF{//定义一个类来实现接口[/align]
[align=left]
[/align]
      public void info()
{
              System. out .println("hello 
world" );
[align=left]          [/align]
[align=left]     }[/align]
[align=left]     [/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]class   X{//一个类来创建对象和调用方法[/align]
[align=left]      public void fun1(){[/align]
[align=left]           this .fun2(new Bbn());[/align]
[align=left]     }[/align]
[align=left]     [/align]
      public void fun2(FF
f){
[align=left]          f.info();[/align]
[align=left]     }[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]public class NoInnerTest {[/align]
           public static void main(String[]
args) {
[align=left]               new X().fun1();[/align]
[align=left]          }[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]结果:[/align]
[align=left]
[/align]

hello  world

但是,上面的Bbn类只用了一次,所以大可不必单独的创建一个类出来

代码修改如下:

[align=left]interface Aac{[/align]
[align=left]      void info();[/align]
[align=left]     [/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]class Xx{[/align]
[align=left]     [/align]
[align=left]      public void fun1(){[/align]
           this .fun2(new Aac()
{//匿名内部类
[align=left]              [/align]
               public void info()
{
                   System. out .println("hello
world" );                   
[align=left]              }[/align]
[align=left]          });[/align]
[align=left]     }[/align]
[align=left]     [/align]
      public void fun2(Aac
a){
[align=left]          a.info();[/align]
[align=left]          [/align]
[align=left]     }[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]public class NoInnerTest1 {[/align]
               public static void main(String[]
args) {
[align=left]                    new Xx().fun1();[/align]
[align=left]              }[/align]
[align=left]}[/align]

结果:

[align=left]hello world[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: