A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

abstract class 和interface接口有什么区别

3 个回复

倒序浏览
抽象类中的成员可以有抽象的和非抽象的     接口中的成员都是抽象的  继承抽象类的子类,和抽象类是继承关系   就像父亲和爹一样,爹只能有一个 ..类只能有一个爹   而接口和实现接口的类的关系就像干爹和儿子一样  ,类可以有多个干爹.并通过实现干爹中的方法  进行功能扩展   虽然你有点混  但是要是你放到逻辑思维中思考  慢慢就懂了
回复 使用道具 举报
抽象类中成员变量可以是常量也可以是变量,有构造方法,成员方法不一定是抽象方法,可以有非抽象方法
接口中成员变量只能是常量,没有构造方法,成员方法只有抽象方法
回复 使用道具 举报
1.成员区别
   抽象类
   成员变量:可以是变量也可以是常量
   构造方法:有
   成员方法:可以是抽象的也可以是非抽象的(抽象类不一定有抽象方法,但是有抽象方法的一定是抽象类)
   接口
   成员变量:只能是常量  
   构造方法:无
   成员方法:只能是抽象方法
2.关系区别
   类与类:单继承  ,可以是多级继承
   类与接口:可以是单实现,也可以是多实现
   接口与接口:可以是单继承,也可多继承
3.设计思想
  抽象类倾向于 is  a 的思想
  接口倾向于 like a的思想
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马