java 中关于抽象类和接口的区别
2016-07-12 12:00
447 查看
转自:http://zhidao.baidu.com/question/134623183.html http://zhidao.baidu.com/question/16706168.html
简单来说,接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。
还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用。
抽象类的成员可以具有访问级别,而接口的成员全部public级别;
抽象类可以包含字段,而接口不可以;
抽象类可以继承接口,而接口不能继承抽象类;
抽象类的成员可以具有具体实现,而接口不行;
抽象的子类可以选择性实现其基类的抽象方法,而接口的子类必须实现。
简单来说,接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。
还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用。
抽象类的成员可以具有访问级别,而接口的成员全部public级别;
抽象类可以包含字段,而接口不可以;
抽象类可以继承接口,而接口不能继承抽象类;
抽象类的成员可以具有具体实现,而接口不行;
抽象的子类可以选择性实现其基类的抽象方法,而接口的子类必须实现。
相关文章推荐
- java集合类(四)ArrayList与LinkedList比较
- Windows 7环境下配置Java Web开发环境
- 基于RESTful Web Service 的Jersey框架与Spring完美整合
- Phonegap的环境搭建
- JAVA中Properties的使用
- highcharts图形界面(Java从数据库获取值)
- Spring整合Struts2的两种方式
- 关于solr5版本的部署报错:java.lang.NoSuchMethodError: javax.servlet.ServletInputStream.isFinished()Z
- cxf+spring发布webservice接口及接口的调用
- java值数组初始化及异常
- java 路径问题
- Java之文件追加内容工具类
- java 在 Cookei中,去用户id,把用户id做成一个共享数据
- spring MVC 文件上传错误
- java集合类(三)List之LinkedList
- [转] java编程规范
- SpringMVC+Hibernate遇到的一些问题
- Java.util.zip 压缩与解压缩工具类
- java读取文本编码问题
- Java内存模型