【学习Day5】接口和抽象类的区别、作用和使用场景
目录
- 一、接口和抽象类的区别?
- 二、接口和抽象类的作用?
- 三、接口和抽象类的使用场景?
一、接口和抽象类的区别?
- 抽象类用abstract 来修饰 接口用interface修饰
- 抽象类中有构造器 接口没有构造器
- 抽象类单继承 接口多实现,接口可以多继承
- 抽象类中可以用任意类型的变量 接口中只能有常量
二、接口和抽象类的作用?
接口: 用来规定要实现什么功能,但不实现
抽象类: 抽象类不能直接实例化,它的存在就是让子类来继承的,用来复用
三、接口和抽象类的使用场景?
示例:
- 有A和B两个类,他们都一个show方法,并且气show方法的内容一摸一样,这样的场景就可以用抽象类,在抽象类中定义show方法,A和B类继承就可以解决代码复用的问题。
- 还是以上两个类A和B,现在他们还是都有show方法,但是里面的内容不一样了,这个A类的show方法在别的类中有调用,我想要改变这个show方法为B类的内容,我就的在调用的地方更换类,这样很不方便,如果我定义了一个接口,里面有一个show方法,其A和B都实现这个接口的show方法,我在调用的时候就可以通过接口来调用,这样修改show方法内容的时候,就不用更换调用方
引出问题: 一个接口有多个实现类的时候,通过接口调用怎么指定实现类
- @Primary 标识在实现类上,表示为首选要注入的类
- @Autowired + @Qualifier(实现类名,一般为类名首字母小写)标识在注入的地方
【学习Day5】接口和抽象类的区别、作用和使用场景相关推荐
- [drp 6]接口和抽象类的区别,及其应用场景
导读:在很多时候,接口和抽象类可以替换.发现这个问题,还是之前学习设计模式的时候,看到那个UML图发现的.那么,究竟在什么时候使用接口,什么时候使用抽象类呢?现在结合这个项目,做一个总结. 一.接口 ...
- Java接口学习(接口的使用、简单工厂、代理模式、接口和抽象类的区别)
前言引入 官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 我的 ...
- java接口和抽象类的区别和作用
java接口和抽象类的区别和作用 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过(implements)接口的方 ...
- 【转载】接口和抽象类的区别 --相信你看完不会再混淆了
原文地址:http://www.cnblogs.com/huihui-gohay/archive/2009/12/13/1623070.html 我想,对于各位使用面向对象编程语言的程序员来说,&qu ...
- 接口与抽象类的区别,为什么要用接口,抽象类不香吗?
接口是一种比较特殊的抽象类(个人理解) 接口与抽象类的区别: 最直观来说: 接口: 接口中变量是常量,所以接口中不能有构造方法.因为构造方法最大的作用是给对象赋值或改值(个人理解)和创建对象.因为变量 ...
- 接口,类与接口的关系,接口与抽象类的区别
接口 1 接口的概念 与之前学习过的抽象类一样,接口( Interface )在Java中也是一种抽象类型,接口中的内容是抽象形成的需要实现的功能,接口更像是一种规则和一套标准. 2 接口格式 3 接 ...
- 接口和抽象类的区别与联系
文章目录 一.抽象类的基础语法 二.接口的基础语法 三.接口在开发中的作用 四.接口和抽象类的联系 4.1 都不能被实例化 4.2 都可以包含抽象方法 五.接口和抽象类的区别 5.1 二者设计目的上的 ...
- 接口和抽象类的区别与使用场景
前言: 前几天面试的是面试官问了一个问题 接口和抽象类了解吧? 说一下 他们的分别用在什么场景下(就是让说一下我该如何选择使用接口还是抽象类) 我回答的不忍直视. 我事后问了一个同学,你给我来了一句那 ...
- python接口和抽象类的区别_接口和抽象类有什么区别?
最近团队在招人:阿里新零售事业群CBU技术部招Java高级&专家,团队主要负责B2B工业品牌业务,坐标杭州滨江,有兴趣的小伙伴私戳我. **************************** ...
最新文章
- 常见的canvas优化——模糊问题、旋转效果
- 使用淘宝镜像cnpm安装Vue.js
- 教怎样写好一份“漏洞报告”
- COCO 数据集的使用
- ext.js组件的基本操作
- redisson集成spring-session和shiro实现分布式session
- 计算机一级考试试题window,全国计算机等级考试一级Window复习题及答案.doc
- asterisk1.8 Makefile分析 (1)
- 四种类型转换 cast
- Java 线程状态---WAITING(部分转载)
- linux 字符串 空,linux – bash空字符串/命令
- OpenGL坐标的问题?
- Hibernate使用的一些细节注意事项
- oracle数据库学习相关笔记-相关约束
- java基本数据类型声明及初始化方法
- SQL中drop,delete和truncate的异同
- 鲁班学艺 ---学三个月的,手艺扎根在眼里;学三年的,手艺扎根在心里
- 倒杨辉三角4行c语言,倒杨辉三角
- 玛雅日历和2012年12月,whats的新政
- 你知道索引失效嘛?举例看看?
热门文章
- 山东大学陈强教授的介绍及相关资源
- Redis:黑马点评项目之用户短信登录
- 2023前端面试整理合集
- 如何将Oracle 当前日期加一天、一分钟?
- 一个IT人七次跳槽的十点经验总结:跳槽一定要谨慎
- C++性能优化:代码优化
- <Android开发> Android vold - 第一篇 vold前言简介
- 树状数组的基本用法(板子)
- P3P Kneip - A Novel Parametrization of the Perspective-Three-Point Problem for a Direct Computation
- PySCENIC(三):pyscenic单细胞转录因子分析可视化