Java abstract class vs interface
来源:互联网 发布:单片机仿真需要程序吗 编辑:程序博客网 时间:2024/05/20 00:13
前言
abstract class和interface都是java用来描述抽象体的,不知道是否有同学跟我一样对这两者的语法层面的区别以及如何选择这两者还存在着疑惑,反正接下来,让我详细介绍一下abstract class和interface。
理解抽象类
在面向对象的概念中,所有的对象都是通过类来描述的。但是反过来却不是这样,并不是所有的类都是用来描述对象的。因为这个类中可能没有足够的信息来描述一个具体的对象,这样的类就是抽象类(ps:注意这里的抽象类不是单指abstract class)。抽象类往往用来描述我们对问题领域进行分析和设计后得出来的抽象概念,是对一系列看上去不同,但是本质相同的具体概念的抽象。
abstract class 和 interface语法区别
抽象类和接口的区别如下:
- 抽象类可以有普通的成员变量,而接口中一般没有成员变量。如果非要在接口中安插成员变量,则成员变量的类型必须为static final类型。
- 抽象类中可以包含非抽象的普通方法,而接口中的所有方法都必须是抽象的。
- 抽象类中的抽象方法的访问类型可以是public、protected或者包访问类型。而接口中的抽象方法只能是public abstract类型,接口的方法前面可以不加修饰符,默认就是public abstract类型。
- 一个类可以实现多个接口(多继承的折衷实现),但是只能继承一个抽象类。
abstract class和interface的使用区别
abstract class的设计体现了”is-a”的关系,而interface体现的是”has-a”的关系。
什么时候使用接口?
你想扩展我给你的东西,就必须实现必需的接口。例如,实现Comparable接口的对象可以直接使用sort方法Collections.sort(List list)排序。
什么时候使用抽象类?
如果你有一个抽象类,它提供了很多通用的功能,并且抽象出了每个子类需要自己去实现的方法。而你设计的东西恰好基于这个类,那这个实现你就可以去继承这个抽象类,然后实现自己独特的方法。
0 0
- java interface vs abstract class
- Java abstract class vs interface
- java abstract class vs interface
- abstract class VS. interface
- interface vs abstract class
- interface vs abstract class
- Abstract class VS Interface
- abstract class VS interface
- Abstract class VS Interface
- interface VS abstract class in java
- Abstract class VS Interface 转载
- abstract class VS interface[转]
- 【转】Abstract class vs interface
- Java Interface & Abstract Class
- Java Interface & Abstract Class
- Java Interface & Abstract Class
- java abstract vs interface
- java interface VS abstract
- NGX打印日志时对特殊字符的转码
- ios调打电话代码
- OCP-1Z0-051-2015-28题
- 短小精干,大道至简-----Sikuli截图尝试
- Android优化之bitmap图片
- Java abstract class vs interface
- UI控件
- [win7系统]telnet服务
- linux知识点回顾
- 图片上传,android ios Java服务器整合
- c++ primer读书笔记-第六章 语句
- iOS并发编程指南
- hmac-sha1加密算法C源码示例
- c/c++模板的定义和实现分开的问题(一)