为了账号安全,请及时绑定邮箱和手机立即绑定

哪位大神详细讲一下接口与抽象类的区别和各自的优缺点

哪位大神详细讲一下接口与抽象类的区别和各自的优缺点

yesopst 2016-10-09 10:56:34
查看完整描述

7 回答

?
王家大少

TA贡献17条经验 获得超14个赞

说实话这个问题我已经回答了很多遍了,回答的我都想吐了,那么我就谈谈接口和抽象类的区别。接口和抽象类的共同点就是它们都可以包含抽象方法,并且它们都不可以创建对象 不同的之处就多了。抽象类除了可以包含抽象方法外还可以实体方法,用来给子类去继承,抽象类还可以包含静态成员 和非静态成员。而接口中的方法全都是非静态的并且全都是被public abstract 修饰的,接口中的变量全都是被public static final 修饰的 ,也就是说接口中的变量全都是常量,接口中不能包含静态方法。接口不能有构造函数而抽象类却可以。 另外从从继承的角度上说,类于类之间是单继承,接口与接口之间确实多继承,从某种角度上说,也弥补了java单继承的不足。

查看完整回答
1 反对 回复 2016-10-09
?
rookie2maven

TA贡献278条经验 获得超76个赞

借口是一些事物的共通点,比如一些基本的方法,利于增删查改,抽象类是对象的共有特征多态化实现方式,
通过继承可以向上引用。


查看完整回答
反对 回复 2016-10-10
?
weenhall

TA贡献121条经验 获得超57个赞

接口是一系列还未实现的方法的集合,而抽象类可以包含实现的方法和属性,也就是说抽象类的约束多

查看完整回答
反对 回复 2016-10-10
?
May9527

TA贡献4条经验 获得超1个赞

看需求 没有优缺点之说吧

查看完整回答
反对 回复 2016-10-09
?
望远

TA贡献1017条经验 获得超1032个赞

1、抽象类: 如果这个类里面的方法有一个是抽象的,那么这个类必须是抽象的。 抽象类中的方法,子类必须实现。(否则子类还是一个抽象类) 抽象类中可以有变量,可以有方法体的方法。 2、接口: 接口中方法都默认是public 的,不能有方法体。 接口中的变量都常量,都是public static final 的,必须先赋值。 如果一个类实现了此接口,必须覆盖接口中的所有抽象方法。
查看完整回答
反对 回复 2016-10-09
  • 7 回答
  • 0 关注
  • 1740 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信