`
liuxinglanyue
  • 浏览: 562735 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java牛角尖【006】: 匿名内部类可以继承其它类吗?

阅读更多

 在Swing开发时,大家应该经常用到下面的代码: 

Java代码 
  1. 1.  JButton btnTest = new JButton();    
  2. 2.  btnTest.addActionListener(new ActionListener() {    
  3. 3.      public void actionPerformed(ActionEvent evt) {    
  4. 4.          // do something here    
  5. 5.      }};  
  
  
  通过匿名内部类的使用,我们可以方便地建立一个只能在此按钮中起作用的一个ActionListener接口的实现,这个实现只在该位置可用。 
  那么,能不能将这里的接口改为一个抽象类,甚至一个普通的类呢?看一下下面代码: 
Java代码 
  1. 1.  public class Test {    
  2. 2.      public static void main(String[] args) {    
  3. 3.          Demo d = new Demo(){    
  4. 4.              protected void showMessage(){    
  5. 5.                      System.out.println("Printed by inner class");       
  6. 6.              }    
  7. 7.          };    
  8. 8.              
  9. 9.          d.showMessage();    
  10. 10.     }    
  11. 11. }    
  12. 12.     
  13. 13class Demo {    
  14. 14.     protected void showMessage(){    
  15. 15.         System.out.println("Printed by demo");      
  16. 16.     }    
  17. 17. }    

代码运行结果为: 
Java代码 
  1. Printed by inner class    

  同样,如果我们只需要一次性地重写某类的一个方法,我人同样也可以使用这种方式,在定义一个对象时对这个类进行匿名地继承,产生一个需要的特殊的类。 

分享到:
评论

相关推荐

    行业文档-设计装置-一种打磨成仿牛角尖外形的笔尖.zip

    在本设计装置中,我们探讨了一种创新的工艺方法,用于将笔尖打磨成仿牛角尖的外形。这种设计不仅在视觉上提供了独特的审美体验,还可能改善书写时的手感和性能。以下是对这个技术的详细阐述: 1. 设计理念:仿牛角...

    牛角包::croissant:轻巧却有用的BukkitSpigotPaper插件库

    牛角包 :croissant: 轻巧却有用的Bukkit / Spigot / Paper插件库。介绍Croissant是一个轻量级的Java库,它为Bukkit / Spigot / Paper插件提供了命令框架和GUI框架。 以下是其功能的简短摘要: 命令框架无需在插件的...

    电子:中国半导体:牛角峥嵘.pdf

    在深入解读《电子:中国半导体:牛角峥嵘》这篇报告之前,首先要明确几个核心的概念。首先,半导体是指那些在特定温度下导电性能介于导体和绝缘体之间的材料,常被应用于制造各种电子设备的微小组件中,如晶体管、...

    牛角座封装规格

    之前一直在找牛角座等各种插座的规格封装,很难找到,最后找到了

    elasticsearch5.3集成java所需jar包

    在Java开发中,Elasticsearch是一个非常重要的搜索引擎和分析引擎,它基于Lucene构建,提供了分布式、全文检索、实时分析的高性能数据存储解决方案。在Elasticsearch 5.3版本中,为了使其能够正常运行,我们需要集成...

    牛角包:Lu Lua REPL和调试器

    通过简单的命令,用户可以启动REPL、开始调试会话,甚至集成到其他开发工具中。CLI的灵活性使得牛角包能在各种操作系统和环境下无缝工作。 4. **牛角包的特性** - **代码补全**:自动补全功能帮助开发者快速输入...

    C++编译的牛角棋

    【C++编译的牛角棋】是一款基于C++编程语言开发的游戏,它可能是为了帮助初学者实践编程技能而创建的。在这个项目中,我们能够看到开发者如何运用C++的基本语法、控制结构、函数和可能的数据结构来实现一个简单的...

    原牛角源码(修罗bbs)全站程序打包带数据库备份

    原牛角源码(修罗bbs)全站程序打包带数据库备份,牛角源码全站数据+全站文件、插件打包分享给大家,有兴趣的可以搭建玩玩! conf文件夹中自己配置数据库链接文件,默认管理账号:admin,密码123456 首页登录后就可以...

    向外企学管理-牛角包一样的会计.rar

    8. 财务分析:通过对财务报表的比率分析和趋势分析,可以评估企业的偿债能力、盈利能力、运营效率等,为投资者、管理层和其他利益相关者提供决策依据。 9. 国际会计准则(IFRS)与美国公认会计原则(GAAP):全球...

    java+localdatetime +工具类

    提取关于日期时间操作方法,形成工具类,提升开发效率

    电子:中国半导体:牛角峥嵘.zip

    尽管没有具体的标签提供额外信息,但我们可以从文件名“电子:中国半导体:牛角峥嵘.pdf”推断,内容可能涵盖了以下几个关键知识点: 1. **中国半导体市场概览**:文档可能会详细介绍中国半导体市场的规模、增长...

    牛角工具箱源码 轻松打造个性化在线工具箱

    这是一款在线工具箱程序,您可以通过安装扩展增强她的功能 通过插件模板的功能,您也可以把她当做网页导航来使用 环境要求: PHP >= 7.2.5 MySQL >= 5.7 fileinfo扩展 使用Redis缓存需安装Redis扩展 去除禁用函数...

    牛角座接口接线方式及管脚对应

    ### 牛角座接口接线方式及管脚对应 #### 标准的牛角座接口接线方式及管脚对应 牛角座接口作为一种广泛应用于电子设备中的连接器,其标准化的设计确保了不同设备间的兼容性和可靠性。本文将详细介绍牛角座接口(以...

    OUPIIN 牛角接头1001系列端子3d

    1001系列可能是OUPIIN公司内部对这类端子的命名,可能表示其是该品牌下的一种基础或标准型号。 【压缩包子文件的文件名称列表】揭示了该压缩包包含的文件类型和可能的用途: 1. "1001-26b1.prt.2" 和 "1001-26b....

    java注解方式实现拦截接口重复提交

    在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中插入信息的方式,这些信息可以被编译器或运行时环境用来执行特定的动作。在这个场景中,"java注解方式实现拦截接口重复提交"是为了解决一个常见的...

    简易牛角座.IntLib

    简易牛角座.IntLib

    OpenOffice 实现JPG.DOC转PDF转SWF在线预览(Java版)

    在Java环境中,我们可以利用OpenOffice的Java API(称为JODConverter)来实现文件的格式转换。 1. **OpenOffice与JODConverter**: JODConverter是基于OpenOffice的Java库,允许我们通过编程方式调用OpenOffice的...

    原牛角源码(修罗bbs)程序打包带数据库备份源码

    原牛角源码,即修罗BBS,是一款基于PHP开发的论坛系统,这类系统通常包括前端用户界面、后台管理功能以及数据库交互等组成部分。 【描述】提到的是全站程序打包,这通常指的是包含了网站运行所需的所有文件,包括但...

    电子:中国半导体:牛角峥嵘(2021)(173页).pdf

    电子:中国半导体:牛角峥嵘(2021)(173页).pdf

Global site tag (gtag.js) - Google Analytics