当前位置: 首页 > news >正文

关于接口多态,何时使用接口名创建对象?何时使用子类创建对象?

接口创建对象只能创建他的实现类,所以会出现两种创建方式:

1、接口 对象名 = new 类名
2、子类对象 对象名 = new 类名

举个例子,swimming是一个接口,flog是他的一个实现类,重写了swimming的eat()方法

子类对象 对象名 = new 类名:

接口 对象名 = new 类名:

利用接口创建的报红:

原因: 使用接口类去引用对象是有前提条件的—实现类中全是接口类的方法的实现,没有自己单独的方法,而这里面flog里面的eat方法是自己独有的,不能调用。

所以:当实现类存在自己的方法时,使用实现类来声明变量

使用接口编程的好处是统一规范化。

会发现无论多少个实现类,无论这些实现类有什么不同,使用接口 对象名 = new 类名; 方式实例化对象都可以调用接口中定义的方法

假如有多个类 比如 E,F,G,H, 共同继承接口A 。都可以用A b=new E()/new F()/ new G() /new H()的 方式来实现。这样如果之前已经有其他类引用了对象b 或者对b有关联操作, 就不需要在其他类里再重复去写针对 e /f/g/h 的方法或者关联代码。只要在主程序把 A b= new A() 改成A b= new E()                      
原文链接:https://blog.csdn.net/qq_41359254/article/details/113529848

http://www.lryc.cn/news/376617.html

相关文章:

  • 短视频热恋进行时:成都柏煜文化传媒有限公司
  • springBoot多数据源使用、配置
  • 打破安全设备孤岛,多源威胁检测与响应(XDR)如何构建一体化安全防线
  • Android SurfaceFlinger——概述(一)
  • 工业 web4.0,UI 风格令人赞叹
  • HarmonyOS 角落里的知识 —— 状态管理
  • TDengine数据迁移
  • 使用ZIP包安装MySQL及配置教程
  • Java基础入门day64
  • 高德地图轨迹回放/轨迹播放
  • 像素、像素密度、位图和矢量图
  • 第二证券股市资讯:昨夜!全球新“股王”诞生
  • 自动水位雨量站:用于水库防汛预警
  • 苍穹外卖---新增员工(P16-P20)
  • Windows10 利用QT搭建SOEM开发环境
  • SpringBoot整合H2数据库并将其打包成jar包、转换成exe文件二(补充)
  • 【kyuubi k8s】kyuubi发布k8s执行spark sql
  • 机械装配革新者:3D工艺大师智慧赋能,装配无忧
  • 【C++】const和函数参数
  • 2024zjb
  • 线程池的艺术:深度解析Java多线程并发性能的优化之道
  • Ubuntu server 24 (Linux) 新增磁盘 lvm 动态扩容磁盘空间
  • Linux C编译器从零开发三
  • 02-ES6新语法
  • Vue3中VueRouter基本用法及与Vue2中路由使用差异解析
  • 10.Docker Compose容器编排
  • 【算法——动态规划(从dfs回溯开始推导dp)】
  • 不是所有洗碗机都能空气除菌 友嘉灵晶空气除菌洗碗机评测
  • 【Linux】如何创建yum 组(yum groups)
  • Linux ssh远程关闭如何保持进程在后台运行的解决方案