Java中匿名类的两种实现方式

发布时间 - 2026-01-10 22:49:16    点击率:

使用匿名内部类课使代码更加简洁、紧凑,模块化程度更高。内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到。然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式:第一种,继承一个类,重写其方法;第二种,实现一个接口(可以是多个),实现其方法。下面通过代码来说明:

public class TestAnonymousInterClass{  
 public static void main(String args[]){  
  TestAnonymousInterClass test=new TestAnonymousInterClass();  
  test.show();  
 }  
 //在这个方法中构造了一个匿名内部类  
 private void show(){  
  Out anonyInter=new Out(){// 获取匿名内部类实例     
   void show(){//重写父类的方法  
    System.out.println("this is Anonymous InterClass showing.");  
   }  
  };  
  anonyInter.show();// 调用其方法  
 }  
}   
// 这是一个已经存在的类,匿名内部类通过重写其方法,将会获得另外的实现  
class Out{  
 void show(){  
  System.out.println("this is Out showing.");  
 }  
}
 

程序运行的输出结果为:

this is Anonymous InterClass showing.

所以在这里看出,匿名内部类有了自己的实现。其实很简单,使用匿名内部类是因为我这地方需要有点什么特殊的实现,所以我就在这地方把具体实现也给了出来了。然后我就在这地方获取它的实例,调用它的方法。

接口的方式,只要把父类换成接口就行了,没必要给出代码了。

使用匿名内部类时我们不要忘了我们的目的,我们只是在这地方想对某个类有特殊的实现。而不要想得太多,在匿名内部编写其它的方法。在匿名内部类中编写的自己的方法是不可见的。此种做法是毫无意义的,当然一般也不会这么做。在这里只是告诉初学者对于匿名内部类不要想的太多,而要这么想:匿名内部类就是重写父类或接口的方法。

匿名内部类是没有名字的,所以我们没办法获得其类型,而只能把它当作超类或接口类型来使用。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# Java  # 匿名类  # Java通过匿名类来实现回调函数实例总结  # java 内部类(匿名类  # 匿名对象  # 静态内部类)详解及实例  # Java通过接口实现匿名类的实例代码  # Java匿名类和匿名函数的概念和写法  # 重写  # 自己的  # 在这里  # 我说  # 在这  # 切成  # 我就  # 是因为  # 太多  # 在这个  # 多个  # 将会  # 两种  # 我这  # 要把  # 这是一个  # 没办法  # 给了  # 更高  # 很简单 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在腾讯云服务器快速搭建个人网站?  Laravel如何处理异常和错误?(Handler示例)  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  如何在Windows虚拟主机上快速搭建网站?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  如何在IIS中新建站点并解决端口绑定冲突?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  如何在景安云服务器上绑定域名并配置虚拟主机?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  微信小程序 require机制详解及实例代码  Laravel如何实现事件和监听器?(Event & Listener实战)  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  如何快速打造个性化非模板自助建站?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  JavaScript数据类型有哪些_如何准确判断一个变量的类型  Laravel如何发送系统通知?(Notification渠道示例)  Python面向对象测试方法_mock解析【教程】  如何在云虚拟主机上快速搭建个人网站?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  JavaScript实现Fly Bird小游戏  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  Laravel Session怎么存储_Laravel Session驱动配置详解  QQ浏览器网页版登录入口 个人中心在线进入  Laravel如何生成API文档?(Swagger/OpenAPI教程)  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  Laravel观察者模式如何使用_Laravel Model Observer配置  如何在Windows环境下新建FTP站点并设置权限?  Laravel如何实现API版本控制_Laravel版本化API设计方案  Android滚轮选择时间控件使用详解  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  音响网站制作视频教程,隆霸音响官方网站?  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  常州企业网站制作公司,全国继续教育网怎么登录?  如何在阿里云ECS服务器部署织梦CMS网站?  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel如何实现本地化和多语言支持?(i18n教程)  详解Android中Activity的四大启动模式实验简述