目录

  • 一、接口和抽象类的区别?
  • 二、接口和抽象类的作用?
  • 三、接口和抽象类的使用场景?

一、接口和抽象类的区别?

  1. 抽象类用abstract 来修饰 接口用interface修饰
  2. 抽象类中有构造器 接口没有构造器
  3. 抽象类单继承 接口多实现,接口可以多继承
  4. 抽象类中可以用任意类型的变量 接口中只能有常量

二、接口和抽象类的作用?

接口: 用来规定要实现什么功能,但不实现
抽象类: 抽象类不能直接实例化,它的存在就是让子类来继承的,用来复用

三、接口和抽象类的使用场景?

示例:

  1. 有A和B两个类,他们都一个show方法,并且气show方法的内容一摸一样,这样的场景就可以用抽象类,在抽象类中定义show方法,A和B类继承就可以解决代码复用的问题。
  2. 还是以上两个类A和B,现在他们还是都有show方法,但是里面的内容不一样了,这个A类的show方法在别的类中有调用,我想要改变这个show方法为B类的内容,我就的在调用的地方更换类,这样很不方便,如果我定义了一个接口,里面有一个show方法,其A和B都实现这个接口的show方法,我在调用的时候就可以通过接口来调用,这样修改show方法内容的时候,就不用更换调用方

引出问题: 一个接口有多个实现类的时候,通过接口调用怎么指定实现类

  1. @Primary 标识在实现类上,表示为首选要注入的类
  2. @Autowired + @Qualifier(实现类名,一般为类名首字母小写)标识在注入的地方

【学习Day5】接口和抽象类的区别、作用和使用场景相关推荐

  1. [drp 6]接口和抽象类的区别,及其应用场景

    导读:在很多时候,接口和抽象类可以替换.发现这个问题,还是之前学习设计模式的时候,看到那个UML图发现的.那么,究竟在什么时候使用接口,什么时候使用抽象类呢?现在结合这个项目,做一个总结. 一.接口 ...

  2. Java接口学习(接口的使用、简单工厂、代理模式、接口和抽象类的区别)

    前言引入 官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 我的 ...

  3. java接口和抽象类的区别和作用

    java接口和抽象类的区别和作用 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过(implements)接口的方 ...

  4. 【转载】接口和抽象类的区别 --相信你看完不会再混淆了

    原文地址:http://www.cnblogs.com/huihui-gohay/archive/2009/12/13/1623070.html 我想,对于各位使用面向对象编程语言的程序员来说,&qu ...

  5. 接口与抽象类的区别,为什么要用接口,抽象类不香吗?

    接口是一种比较特殊的抽象类(个人理解) 接口与抽象类的区别: 最直观来说: 接口: 接口中变量是常量,所以接口中不能有构造方法.因为构造方法最大的作用是给对象赋值或改值(个人理解)和创建对象.因为变量 ...

  6. 接口,类与接口的关系,接口与抽象类的区别

    接口 1 接口的概念 与之前学习过的抽象类一样,接口( Interface )在Java中也是一种抽象类型,接口中的内容是抽象形成的需要实现的功能,接口更像是一种规则和一套标准. 2 接口格式 3 接 ...

  7. 接口和抽象类的区别与联系

    文章目录 一.抽象类的基础语法 二.接口的基础语法 三.接口在开发中的作用 四.接口和抽象类的联系 4.1 都不能被实例化 4.2 都可以包含抽象方法 五.接口和抽象类的区别 5.1 二者设计目的上的 ...

  8. 接口和抽象类的区别与使用场景

    前言: 前几天面试的是面试官问了一个问题 接口和抽象类了解吧? 说一下 他们的分别用在什么场景下(就是让说一下我该如何选择使用接口还是抽象类) 我回答的不忍直视. 我事后问了一个同学,你给我来了一句那 ...

  9. python接口和抽象类的区别_接口和抽象类有什么区别?

    最近团队在招人:阿里新零售事业群CBU技术部招Java高级&专家,团队主要负责B2B工业品牌业务,坐标杭州滨江,有兴趣的小伙伴私戳我. **************************** ...

最新文章

  1. 常见的canvas优化——模糊问题、旋转效果
  2. 使用淘宝镜像cnpm安装Vue.js
  3. 教怎样写好一份“漏洞报告”
  4. COCO 数据集的使用
  5. ext.js组件的基本操作
  6. redisson集成spring-session和shiro实现分布式session
  7. 计算机一级考试试题window,全国计算机等级考试一级Window复习题及答案.doc
  8. asterisk1.8 Makefile分析 (1)
  9. 四种类型转换 cast
  10. Java 线程状态---WAITING(部分转载)
  11. linux 字符串 空,linux – bash空字符串/命令
  12. OpenGL坐标的问题?
  13. Hibernate使用的一些细节注意事项
  14. oracle数据库学习相关笔记-相关约束
  15. java基本数据类型声明及初始化方法
  16. SQL中drop,delete和truncate的异同
  17. 鲁班学艺 ---学三个月的,手艺扎根在眼里;学三年的,手艺扎根在心里
  18. 倒杨辉三角4行c语言,倒杨辉三角
  19. 玛雅日历和2012年12月,whats的新政
  20. 你知道索引失效嘛?举例看看?

热门文章

  1. 山东大学陈强教授的介绍及相关资源
  2. Redis:黑马点评项目之用户短信登录
  3. 2023前端面试整理合集
  4. 如何将Oracle 当前日期加一天、一分钟?
  5. 一个IT人七次跳槽的十点经验总结:跳槽一定要谨慎
  6. C++性能优化:代码优化
  7. <Android开发> Android vold - 第一篇 vold前言简介
  8. 树状数组的基本用法(板子)
  9. P3P Kneip - A Novel Parametrization of the Perspective-Three-Point Problem for a Direct Computation
  10. PySCENIC(三):pyscenic单细胞转录因子分析可视化