java中匿名内部类解读分析

 更新时间:2013年05月03日 10:41:48   作者:  
本篇文章介绍了,java中匿名内部类解读分析。需要的朋友参考下

这段时间在看android,看到了java里面的匿名内部类,在印象当中.net里面不支持匿名内部类。

匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种形式的new语句,如下所示:
new <类或接口> <类的主体>
这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。如果匿名类对另一个类进行扩展,它的主体可以访问类的成员、覆盖它的方法等等,这和其他任何标准的类都是一样的。如果匿名类实现了一个接口,它的主体必须实现接口的方法。

如:

 

  • interface pr
  •      void print1(); 
  • public  class noNameClass  
  • {
  •   public pr dest() 
  •   { 
  •       return   new pr(){ 
  •           public  void print1() 
  •          {
  •             System.out.println("Hello world!!");
  •           }
  •      };
  • public    static    void main(String args[])
  •        noNameClass c=new noNameClass();
  •        pr hw=c.dest();
  •        hw.print1();
  •     } 

pr也可以是一个类但是你外部调用的方法必须在你的这个类或接口中声明外部不能调用匿名类内部的方法

摘自:http://blog.sina.com.cn/s/blog_62ea4cf40100mubj.html

android中点击事件

Button btn=(Button)this.findViewById(R.id.button1);   

btn.setOnClickListener(new Button.OnClickListener(){

   @Override    

   public void onClick(View v) {    

          // TODO Auto-generated method stub     

     }     

 });

 new 是建立一个 Button.OnClickListener对象 ,后面一个 {}
表示这个括号中的操作作用于这个默认的对名象,而上面的Java程序中后面是一个函数体。
这个用法的作用是:创建一个对象的实例,并且 override
它的一个函数。它是对 OnClickListener
接口的一个实现。

android多线程中

 private Runnable mRunnable = new Runnable()
    {
  @Override
  public void run() {
   // TODO Auto-generated method stub

    try
    {
     Thread.sleep(5000);
     mHandler.sendMessage(mHandler.obtainMessage());
    }
    catch(InterruptedException e)
    {

    }

  }
    };
   public Handler mHandler = new Handler()
    {
     public void handleMessage(Message msg)
     {
      super.handleMessage(msg);
      Reflesh();
     }
    };

相关文章

  • Java并发框架中的AQS详细解析

    Java并发框架中的AQS详细解析

    这篇文章主要介绍了Java并发框架中的AQS详细解析,之前说锁的升级的时候,说到了自旋锁会空转几次尝试等待获取资源,其实这一系列的动作是有一个规范的这个规范叫做同步发生器AbstractQueuedSynchronizer ,简称AQS,需要的朋友可以参考下
    2024-01-01
  • java中编码问题的处理方案

    java中编码问题的处理方案

    这篇文章主要介绍了java中编码问题的处理方案的相关资料,需要的朋友可以参考下
    2015-07-07
  • RestTemplate集成Ribbbon的示例代码

    RestTemplate集成Ribbbon的示例代码

    这篇文章主要介绍了RestTemplate集成Ribbbon的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • SpringBoot + Mybatis-plus实战之Mybatis-plus的一级缓存、二级缓存

    SpringBoot + Mybatis-plus实战之Mybatis-plus的一级缓存、二级缓存

    这篇文章主要介绍了SpringBoot + Mybatis-plus实战之Mybatis-plus的一级缓存、二级缓存,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 使用Java反射模拟实现Spring的IoC容器的操作

    使用Java反射模拟实现Spring的IoC容器的操作

    这篇文章主要介绍了使用Java反射模拟实现Spring的IoC容器的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 详解SpringBoot和Mybatis配置多数据源

    详解SpringBoot和Mybatis配置多数据源

    本篇文章主要介绍了详解SpringBoot和Mybatis配置多数据源,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Jenkins Pipline实现及原理示例解析

    Jenkins Pipline实现及原理示例解析

    这篇文章主要为大家介绍了Jenkins Pipline实现及原理示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 2024版本IDEA创建Servlet模板的图文教程

    2024版本IDEA创建Servlet模板的图文教程

    新版IDEA 2024.1.4中,用户需要自行创建Servlet模板以解决Web项目无法通过右键创建Servlet的问题,本文详细介绍了添加ServletAnnotatedClass.java模板的步骤,帮助用户快速配置并使用新的Servlet模板,需要的朋友可以参考下
    2024-10-10
  • 如何使用Gradle实现类似Maven的profiles功能

    如何使用Gradle实现类似Maven的profiles功能

    这篇文章主要介绍了如何使用Gradle实现类似Maven的profiles功能,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • Java GUI编程实现在线聊天室

    Java GUI编程实现在线聊天室

    这篇文章主要为大家详细介绍了Java GUI编程实现在线聊天室,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07

最新评论