全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java中匿名内部类详解

java匿名内部类:

1:匿名内部类,匿名内部类也就是没有名字的内部类。

2:匿名内部类的作用

正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写。

3:匿名内部类的实现

匿名内部类的两种实现方式:第一种,继承一个类,重写其方法;第二种,实现一个接口(可以是多个),实现其方法。

4:匿名内部类的创建

匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。

package com.mianshi.test;
/**
 * 类名称:AnonymousInnerClassTest 
 * 描述: 匿名内部类测试
 * 创建人:王秋林 
 * 创建时间:2017-2-12
 */
public class AnonymousInnerClassTest {
  public static void main(String args[]){   
    AnonymousInnerClassTest test = new AnonymousInnerClassTest();   
    test.show();   
  }   
  //在这个方法中构造了一个匿名内部类   
  private void show(){   
    Out anonyInter = new Out(){//获取匿名内部类实例   
      void show(){//重写父类的方法   
        System.out.println("this is Anonymous InnerClass showing.");
      }   
    };   
    anonyInter.show();//调用其方法   
  } 
}
//这是一个已经存在的类,匿名内部类通过重写其方法,将会获得另外的实现   
class Out{   
  void show(){   
    System.out.println("this is Out showing.");   
  }   
}

5:匿名内部类的基本实现

(1)抽象方法实现

abstract class Person {
  public abstract void eat();
}
public class Demo {
  public static void main(String[] args) {
    Person p = new Person() {
      public void eat() {
        System.out.println("eat something");
      }
    };
    p.eat();
  }
}

运行结果:eat something

(2)接口实现

interface Person {
  public void eat();
}
public class Demo {
  public static void main(String[] args) {
    Person p = new Person() {
      public void eat() {
        System.out.println("eat something");
      }
    };
    p.eat();
  }
}

运行结果:eat something

由上面的例子可以看出,只要一个类是抽象的或是一个接口,那么其子类中的方法都可以使用匿名内部类来实现。最常用的情况就是在多线程的实现上,因为要实现多线程必须继承Thread类或是继承Runnable接口。

(3)Thread类的匿名内部类实现

public class Demo {
  public static void main(String[] args) {
    Thread t = new Thread() {
      public void run() {
        for (int i = 1; i <= 5; i++) {
          System.out.print(i + " ");
        }
      }
    };
    t.start();
  }
}

运行结果:1 2 3 4 5

(4)Runnable接口的匿名内部类实现

public class Demo {
  public static void main(String[] args) {
    Runnable r = new Runnable() {
      public void run() {
        for (int i = 1; i <= 5; i++) {
          System.out.print(i + " ");
        }
      }
    };
    Thread t = new Thread(r);
    t.start();
  }
}

运行结果:1 2 3 4 5

二、匿名内部类的注意事项

(1)匿名内部类不能有构造方法。

(2)匿名内部类不能定义任何静态成员、方法和类。

(3)匿名内部类不能是public,protected,private,static。

(4)只能创建匿名内部类的一个实例。

(5)一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类。

(6)因匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。

(7)匿名类和内部类中的中的this:有时候,我们会用到一些内部类和匿名类。当在匿名类中用this时,这个this则指的是匿名类或内部类本身。这时如果我们要使用外部类的方法和变量的话,则应该加上外部类的类名。

以上就是本篇文章内容,需要的朋友可以参考


# java匿名内部类详解  # java  # 匿名内部类  # 简单谈谈java中匿名内部类构造函数  # java匿名内部类实例简析  # 详解Java匿名内部类  # Java匿名对象与匿名内部类  # 老生常谈 java匿名内部类  # Java中的匿名内部类小结  # java中的匿名内部类详细总结  # Java匿名内部类的使用方法举例详解  # 重写  # 类中  # 多线程  # 是在  # 在这个  # 多个  # 将会  # 两种  # 这是一个  # 没办法  # 对其  # 能有  # 可以使用  # 可以看出  # 指的是  # 来实现  # 第二种  # 要使  # 第一种  # 最常用 


相关文章: 如何选择建站程序?包含哪些必备功能与类型?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  北京企业网站设计制作公司,北京铁路集团官方网站?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  大连 网站制作,大连天途有线官网?  网站制作软件有哪些,制图软件有哪些?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  b2c电商网站制作流程,b2c水平综合的电商平台?  如何快速建站并高效导出源代码?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  文字头像制作网站推荐软件,醒图能自动配文字吗?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  如何快速生成橙子建站落地页链接?  如何在云主机快速搭建网站站点?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  建站VPS配置与SEO优化指南:关键词排名提升策略  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  如何选择适合PHP云建站的开源框架?  C#怎么创建控制台应用 C# Console App项目创建方法  如何批量查询域名的建站时间记录?  建站168自助建站系统:快速模板定制与SEO优化指南  建站主机无法访问?如何排查域名与服务器问题  建站之星在线版空间:自助建站+智能模板一键生成方案  ,巨量百应是干嘛的?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  如何在Windows服务器上快速搭建网站?  微信h5制作网站有哪些,免费微信H5页面制作工具?  建站之星收费标准详解:套餐费用及年费价格表一览  建站主机服务器选购指南:轻量应用与VPS配置解析  大连网站制作公司哪家好一点,大连买房网站哪个好?  定制建站流程步骤详解:一站式方案设计与开发指南  如何通过FTP空间快速搭建安全高效网站?  建站主机选哪家性价比最高?  建站之星如何开启自定义404页面避免用户流失?  php json中文编码为null的解决办法  寿县云建站:智能SEO优化与多行业模板快速上线指南  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  北京网站制作的公司有哪些,北京白云观官方网站?  如何制作网站标识牌,动态网站如何制作(教程)?  高性价比服务器租赁——企业级配置与24小时运维服务  建站之星如何实现五合一智能建站与营销推广?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  济南企业网站制作公司,济南社保单位网上缴费步骤?  如何通过多用户协作模板快速搭建高效企业网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。