1、对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。当然接口也可以通过关键字extends继承。

2、接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数据的封装。(另JAVA接口中的成员变量都要声明为public static final类型)

3、接口没有构造函数,抽象类可以有构造函数。

4、接口中的方法默认都是public类型的,而抽象类中的方法可以使用private,protected,public来修饰。

5、一个类可以同时实现多个接口,但一个类只能继承于一个抽象类。

抽象类还是接口。

  • 如果要创建一个模型,这个模型将由一些紧密相关的对象采用,就可以使用抽象类。如果要创建将由一些不相关对象采用的功能,就使用接口。

    • 如果必须从多个来源继承行为,就使用接口。
    • 如果知道所有类都会共享一个公共的行为实现,就使用抽象类,并在其中实现该行为。

转载于:https://www.cnblogs.com/wlgclining/p/8855922.html

PHP的抽象类、接口的区别和选择相关推荐

  1. php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析

    本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...

  2. Java 抽象类与接口的区别

    接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么? 接口和抽象类的概念不一样.接口是对动作的抽象,抽象类是对根源的抽象 抽象类表示的是,这个对象是什么.接口表示的是,这个对象能做什么.比如, ...

  3. 接口和抽象类有什么区别

    接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么? 接口和抽象类的概念不一样.接口是对动作的抽象,抽象类是对根源的抽象. 抽象类表示的是,这个对象是什么.接口表示的是,这个对象能做什么.比如 ...

  4. 1.13 抽象类和接口的区别

    接口是一种特殊的抽象类,接口和抽象类的渊源颇深,有很大的相似之处,所以在选择使用谁的问题上很容易迷糊. 1)抽象类 在 Java 中,被关键字 abstract 修饰的类称为抽象类:被 abstrac ...

  5. java 抽象类与接口区别是什么_JAVA中抽象类与接口的区别,分别在什么情况下使用它们...

    在网上看到很多人问关于"抽象类与接口的区别",因此本人想通过自己多年对JAVA开发的经验来总结一下抽象类与接口的区别以及分别在什么情况下使用它们. 在Java语言中, abstra ...

  6. 我应该如何解释接口和抽象类之间的区别?

    本文翻译自:How should I have explained the difference between an Interface and an Abstract class? In one ...

  7. java 抽象类与接口的区别及其在jdk中的应用

    什么是抽象类 一般而言含有抽象方法的类是抽象类,那什么是抽象方法? 就是只有方法名,没有方法体. 但是,要是没有抽象方法,你写个abstract class xx{} 这个也是抽象类~ 那么没有抽象方 ...

  8. 抽象类与接口的区别,以及使用依据

    对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方. 抽象类与接口 前言 一.语义上的区别 1.抽 ...

  9. 谈抽象类与接口的区别之一

    源:http://wenku.baidu.com/link?url=TYIBaNR8SjtDIDFO_E9ROFLlghKhAoW48qZXj_berCee07s9e9nXv5XNRYb10GZW_m ...

最新文章

  1. 小白的python之路11/3总结
  2. html5 测试视频
  3. 继续聊WPF——Slider控件
  4. 【通知】2020年有三AI-CV夏季划升级倒计时,最后两天
  5. View-屏幕坐标 Content-网页(内容)坐标 mScrollX和mScrollY-屏幕坐标偏移
  6. 在WinForm程序中嵌入ASP.NET
  7. Python中的正斜杠与反斜杠
  8. Flash竖向大焦点图代码_网页代码站(www.webdm.cn)
  9. 老码识途——1.1反汇编机器码入门
  10. 计算机怎么调整桌面图标的大小,电脑显示器屏幕图标大小如何设置_电脑显示屏内图标大小怎么调...
  11. 代码写的太烂了,所以我干不下去了
  12. grabber.start()获取摄像头数据异常
  13. 百度实体链接比赛后记:行为建模和实体链接(含代码分享)
  14. 好用的平板触控笔,apple pencil的平替笔推荐
  15. 互联网成数据宝库,网络数据采集技术推动人工智能发展
  16. pytorch之torch.gather方法
  17. 软件开发的各个生命周期
  18. 【USACO1.2_1】★Milking Cows 挤牛奶
  19. 【双十二】2020年双十二哪些笔记本值得推荐?
  20. 音频Codec标准组织

热门文章

  1. python代码格式-pyhon代码设计格式指南
  2. python导入外部文件-如何导入其他Python文件?
  3. New Companies(关联查询+group by)
  4. linux下创建和删除软、硬链接
  5. UVa12704 - Little Masters
  6. 福大软工1816 · 第七次作业 - 需求分析报告之拖鞋旅游队
  7. springboot_4 spring boot 使用servlet,filter,listener和interceptor
  8. 重读《从菜鸟到测试架构师》-- 单元测试测点啥
  9. 泛型 与 实体类的相互转换
  10. 利用OpenCV的inpaint函数实现图像的污点修复