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


相关推荐: 如何快速生成可下载的建站源码工具?  如何在建站主机中优化服务器配置?  如何在腾讯云免费申请建站?  UC浏览器如何设置启动页 UC浏览器启动页设置方法  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  EditPlus中的正则表达式 实战(2)  详解vue.js组件化开发实践  香港服务器租用每月最低只需15元?  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  如何用腾讯建站主机快速创建免费网站?  Laravel如何使用Telescope进行调试?(安装和使用教程)  Laravel怎么实现模型属性的自动加密  如何撰写建站申请书?关键要点有哪些?  怎么用AI帮你为初创公司进行市场定位分析?  如何在云主机快速搭建网站站点?  Laravel如何实现API版本控制_Laravel版本化API设计方案  网站页面设计需要考虑到这些问题  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  JavaScript如何实现音频处理_Web Audio API如何工作?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  EditPlus中的正则表达式 实战(4)  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  如何在VPS电脑上快速搭建网站?  linux top下的 minerd 木马清除方法  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  如何快速辨别茅台真假?关键步骤解析  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Python函数文档自动校验_规范解析【教程】  b2c电商网站制作流程,b2c水平综合的电商平台?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  重庆市网站制作公司,重庆招聘网站哪个好?  JavaScript实现Fly Bird小游戏  详解MySQL数据库的安装与密码配置  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  韩国服务器如何优化跨境访问实现高效连接?  深圳网站制作平台,深圳市做网站好的公司有哪些?  iOS中将个别页面强制横屏其他页面竖屏  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  如何用虚拟主机快速搭建网站?详细步骤解析  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Laravel怎么判断请求类型_Laravel Request isMethod用法