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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

抽象类和接口的异同:
     概念和定义上的不同:
        接口是对动作,行为,功能(方法)的抽象,接口表示的是,这个对象能做什么
        抽象类是对某些类的属性,方法向上不断提取的抽象,抽象类表示的是,这个对象是什么。

举例说明:
   定义中国人,美国人,英国人这三个类,他们都是人,所以抽象的类就是人类
  黑马的学生会敲代码,传智的学生也会敲代码,可以把“敲代码”定义成一个接口,然后让这些类去实现它.

     一个类只能继承一个类(即某一个人是中国人的同时不可能是美国人),但是可以实现多个接口(即实现吃饭接口,打篮球接口和敲代码接口等)

  牢记以下几点:
      1. 接口中所有的方法都是抽象的。而抽象类中不一定都是抽象方法。
      2. 接口定义方法,不能实现,而抽象类可以实现部分方法
      3. 接口中基本数据类型为static 而抽类象不是的
        考虑事物的本质使用抽象类,考虑事物的功能和作用使用接口
  疑问:
       接口可以继承,抽象类不能继承这样的理解正确吗?
       如果抽象类不能继承,那么Object类和抽象类又是什么关系,理论上应该要抽象类应该继承Object ?
   
      请路过的大神指点迷津!
   


        

         

3 个回复

倒序浏览
本帖最后由 迷失的独白 于 2014-9-2 23:57 编辑

接口继承接口,api文档看集合。
接口只能被类“实现”。
抽象类可以被继承,(只要还有没被覆盖的抽象方法,就还是抽象类)。
抽象类隐式的继承了Object。




回复 使用道具 举报
Object不是所有类的父类吗?理论上说所有的抽象类,默认是继承于Object的啊,抽象类也是可以继承的啊,不让子类继承的话,抽象又有什么意义?
回复 使用道具 举报
孙雯 来自手机 中级黑马 2014-9-4 23:06:49
板凳
接口是用来实现的,抽象类是可以继承的~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马