您的位置:首页 > 编程语言 > Java开发

java 中关于抽象类和接口的区别

2016-07-12 12:00 447 查看
转自:http://zhidao.baidu.com/question/134623183.html  http://zhidao.baidu.com/question/16706168.html

简单来说,接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。

还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用。

抽象类的成员可以具有访问级别,而接口的成员全部public级别;

抽象类可以包含字段,而接口不可以;

抽象类可以继承接口,而接口不能继承抽象类;

抽象类的成员可以具有具体实现,而接口不行;

抽象的子类可以选择性实现其基类的抽象方法,而接口的子类必须实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: