黑马程序员技术交流社区

标题: 接口与抽象 [打印本页]

作者: 哇塞哇    时间: 2014-7-10 01:12
标题: 接口与抽象
  定义一个接口时,里面有很多方法,继承接口的类不需要这么多方法,应该怎么办?
什么时候该使用抽像,什么时候使用接口

作者: 刘亚东    时间: 2014-7-10 01:31
还没看到接口……
作者: 吴俊勇    时间: 2014-7-10 02:26
你应该先知道,之所以是接口,因为它的方法全是抽象的,没有程序体,所以是一种规范,接口是实现不是继承,但是接口可以继承接口,一个类可以去实现多个接口,所以说实际上java还是存在多继承。抽象类的存在是为了当有类要继承它时,其子类必须实现抽象类的抽象方法,更深的根源尚在学习
作者: PowerLion    时间: 2014-7-10 03:05
抽象类是你在一些对象上抽象出的一个宏观对象。无法实例化,但是高阶的规范约束。接口是可以被类多实现的,他更像是某些功能的扩展。
作者: DKID    时间: 2014-7-10 06:58
本帖最后由 DKID 于 2014-7-10 07:00 编辑

一般比较接受的就是设一个抽象的子类,方法空实现,下面的类继承于这个子类,想要实现什么方法就重写就可以了.

作者: 遗失的美好YXJ    时间: 2014-7-10 06:59
第一个问题以我现在所学的感觉是不行的
第二个问题:当is a的时候用抽象类继承,当like a的时候用接口(老师说的,感觉不形象)
当属于其中一种的情况用abstract,当只是其一个功能的时候用接口.
比如雪橇犬属于犬类,犬类应该定义成abstract类,而拉雪橇只是它的功能,应该用interface接口.


作者: 清净明诲    时间: 2014-7-10 07:04
OK,看看卡拉卡拉卡拉卡拉卡
作者: 胥亮    时间: 2014-7-10 08:22
继承接口的类中你不需要用的方法可以写一个空的方法,但是继承接口的类必须有接口的所有方法
作者: sugar    时间: 2014-7-12 22:12
接口是用来实现的;
抽象类是用来继承的;
作者: 闪耀.Q    时间: 2014-7-12 22:53
既然是要用接口,那么就得实现他的所有抽象函数。如果不想实现全部方法,可以用抽象类,把要实现的方法写成抽象的,不用的写成普通的,子类继承抽象类的所有抽象方法,普通方法普通处理。后边GUI好像还有个东西叫适配器
,能解决这个。
把所有子类中的共性提取出来,就是抽象类,把部分子类的共性提取出来形成接口。子类继承抽象类,实现基本共性功能,谁需要接口中的方法谁就再实现接口。
作者: 科篮    时间: 2014-7-13 00:21
接口与抽象类的区别
成员
        抽象类:
                a:成员变量 可以是变量,也可以是常量
                b:构造方法 有构造方法
                c:成员方法 可以是抽象的,也可以是非抽象的。
        接口:
                a:成员变量 只能是常量。
                b:成员方法 只能是抽象。
关系
        a:类与类的关系:
                继承关系,只能单继承。但是可以多层继承。
        b:类与接口的关系:
                实现关系,可以单实现,也可以多实现。
                还可以在继承一个类的同时,实现多个接口。
        c:接口与接口的关系:
                继承关系,可以单继承,也可以多继承
作者: 孙宏图    时间: 2014-7-13 00:24
实现接口的类只要重写需要用到的方法就行了
作者: ╭月牙湾湾╮    时间: 2014-7-13 00:48
学习了  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2