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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 哇塞哇 中级黑马   /  2014-7-10 01:12  /  1947 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  定义一个接口时,里面有很多方法,继承接口的类不需要这么多方法,应该怎么办?
什么时候该使用抽像,什么时候使用接口

点评

继承抽象类 实现接口 ~说反了~  发表于 2014-7-12 22:56
继承接口 实现抽象类 面向对象的思想掌握的不好,再看看视频被~  发表于 2014-7-12 22:55
抽象  发表于 2014-7-12 22:54

15 个回复

倒序浏览
还没看到接口……
回复 使用道具 举报
你应该先知道,之所以是接口,因为它的方法全是抽象的,没有程序体,所以是一种规范,接口是实现不是继承,但是接口可以继承接口,一个类可以去实现多个接口,所以说实际上java还是存在多继承。抽象类的存在是为了当有类要继承它时,其子类必须实现抽象类的抽象方法,更深的根源尚在学习
回复 使用道具 举报
抽象类是你在一些对象上抽象出的一个宏观对象。无法实例化,但是高阶的规范约束。接口是可以被类多实现的,他更像是某些功能的扩展。
回复 使用道具 举报
本帖最后由 DKID 于 2014-7-10 07:00 编辑

一般比较接受的就是设一个抽象的子类,方法空实现,下面的类继承于这个子类,想要实现什么方法就重写就可以了.
回复 使用道具 举报
第一个问题以我现在所学的感觉是不行的
第二个问题:当is a的时候用抽象类继承,当like a的时候用接口(老师说的,感觉不形象)
当属于其中一种的情况用abstract,当只是其一个功能的时候用接口.
比如雪橇犬属于犬类,犬类应该定义成abstract类,而拉雪橇只是它的功能,应该用interface接口.

回复 使用道具 举报
OK,看看卡拉卡拉卡拉卡拉卡
回复 使用道具 举报
胥亮 中级黑马 2014-7-10 08:22:04
8#

回帖奖励 +8

继承接口的类中你不需要用的方法可以写一个空的方法,但是继承接口的类必须有接口的所有方法
回复 使用道具 举报
sugar 中级黑马 2014-7-12 22:12:35
9#
接口是用来实现的;
抽象类是用来继承的;
回复 使用道具 举报
既然是要用接口,那么就得实现他的所有抽象函数。如果不想实现全部方法,可以用抽象类,把要实现的方法写成抽象的,不用的写成普通的,子类继承抽象类的所有抽象方法,普通方法普通处理。后边GUI好像还有个东西叫适配器
,能解决这个。
把所有子类中的共性提取出来,就是抽象类,把部分子类的共性提取出来形成接口。子类继承抽象类,实现基本共性功能,谁需要接口中的方法谁就再实现接口。
回复 使用道具 举报
接口与抽象类的区别
成员
        抽象类:
                a:成员变量 可以是变量,也可以是常量
                b:构造方法 有构造方法
                c:成员方法 可以是抽象的,也可以是非抽象的。
        接口:
                a:成员变量 只能是常量。
                b:成员方法 只能是抽象。
关系
        a:类与类的关系:
                继承关系,只能单继承。但是可以多层继承。
        b:类与接口的关系:
                实现关系,可以单实现,也可以多实现。
                还可以在继承一个类的同时,实现多个接口。
        c:接口与接口的关系:
                继承关系,可以单继承,也可以多继承
回复 使用道具 举报
实现接口的类只要重写需要用到的方法就行了
回复 使用道具 举报
学习了  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马