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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 低调小邦   /  2014-8-31 00:21  /  3652 人查看  /  50 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

MeryStyle 来自手机 中级黑马 2014-8-31 21:23:20
21#
我感觉应该是吧,接口是抽象类啊,但是JAVA的API是把interface和class分开来单独定义的
回复 使用道具 举报
这有什么疑问的啊,java的数据类型,8种基本类型和3中引用数据类型,引用数据类型是 类,接口,数组
类和接口是不同的引用数据类型,当然不一样了。
回复 使用道具 举报
抽象类是一种特殊的类,里面有抽象方法。接口是一种特殊的抽象类,里面的抽象方法都没有实体。照这么理解,可以说接口是一种特殊的类,只是里面的方法都没有实体
回复 使用道具 举报
class--类
abstract --抽象
interface--接口
回复 使用道具 举报
上面的回答很清楚了接口是抽象类,是一个特殊的类,其实这个概念很模糊,难于理解,楼主多看实例,相信会在心里对接口有一个自己的概念
回复 使用道具 举报
觉得像类,但是好像不这么说
回复 使用道具 举报
付剑翊 来自手机 中级黑马 2014-9-1 12:56:42
27#
接口不是类,它的祖宗也不是OBJECT
回复 使用道具 举报
接口不是类。
回复 使用道具 举报
接口不是类。
刚开始的话可以理解为一个近似于抽象类。
接口需要被实现,接口中的成员有固定的修饰:常量 public static final 方法  public abstract
回复 使用道具 举报
左脑想你 发表于 2014-8-31 09:52
肯定的告诉你不是!从侧面讲接口不能继承类只能被类实现。。。而object是所有类的基类 ...

接口能继承接口
回复 使用道具 举报
孤鸢 发表于 2014-9-1 13:31
接口能继承接口

我又没有说不能。。。。。
回复 使用道具 举报
个人认为接口不是类!
回复 使用道具 举报
左脑想你 发表于 2014-9-1 15:18
我又没有说不能。。。。。

额,我就是觉得你那肯定的语气太绝对了,接口毕竟是从类抽象过来的,当成抽象类理解也没啥不合理吧
回复 使用道具 举报
孤鸢 发表于 2014-9-1 18:59
额,我就是觉得你那肯定的语气太绝对了,接口毕竟是从类抽象过来的,当成抽象类理解也没啥不合理吧 ...

我问过老师。。。一点都不绝对。。。老师那样讲是为了说明接口的特点,而事实上程序语言的设计应该是从简单到复杂。
回复 使用道具 举报
接口是一个特殊的里面方法全部都是抽象的抽象类
回复 使用道具 举报
和类差不多,但不是类,
回复 使用道具 举报
可以当作类,因为接口会生成.class文件,可以不是类,类用关键字class修饰,接口用interface,有“平起平坐”的意思。主要还是区分他们的用法和功能。
回复 使用道具 举报
我觉得怎么定义都无所谓
会用就可以了吧
回复 使用道具 举报
本帖最后由 zhuohong_xiao 于 2014-9-2 14:52 编辑

接口是更高层次的类。类包含成员属性与成员方法(方法是功能+内容的组合)。
而接口也是有成员属性和方法(方法不是一个具体的,只有一个具体的名字即功能。没有定义一个功能是怎么实现的即内容)。
其实你不应该老是去扣概念,你应该找一个对应的具体的东西来理解接口这个概念。就算你分清楚了接口和类的真正关系,这个意义不是很大。浪费时间。
除非你发这个问题只是为了黑马币。
我觉都毕老师在说接口实例的时候那个电脑主板的例子不错。你可以多看看。

下面是我对接口和类的理解。如果觉得好,你可以看看,不好可以直接无视。


我的理解是接口就是一个主板上的卡槽,卡槽就是接口最形象的比喻,也是最好理解的。
起到的一个作用就是一个连接的作用。
卡槽用针脚和主板连接,那个槽就用来插显卡啊内存条啊啥的,用来连接显卡啊内存条啊。来增加主板的功能。
可以将主板看成一个类(主类实现的对象),通过针脚连接卡槽(接口)卡槽又通过槽连接显卡,内存条(显卡和内存条可以看成一个扩展类实现的对象)
接口就是一个规则,一个协定。
类就是一个模板用来创建对象具有功能的实体。
俩个对象(实体)都符合一个相同的规则
俩个对象(实体)通过这个规则就可以使用对方的功能。来扩展自己的功能
回复 使用道具 举报
个人觉得不是接口不是类,接口是对类的补充,进一步增强了Java的可扩展性和灵活性。
类是对于对象的抽象,是属性和方法的集合,成员方法可不抽象。 接口中的变量为静态全局常量,只能赋值一次,而其所有的方法都是抽象方法,接口更像是定义了一种标准,为了和多态一起使用来提高可扩展性。
粗线的认为 类的继承是体系下的东西,是在某一个体系下必要的功能,比如学生必须要会上课,会学习,工作的员工必须要有相应的技能完成工作。
而接口是用来进一步描述的,是让某类个体看起来更生动更有趣的,比如一个学生“小A”他会学习会上课,同时又会打Dota ,会打篮球,会给女朋友做饭,会扶老奶奶过马路等,我们并不需要把“小A”单独定以为一个类,我们只需要在学生类的基础上为他实现其他的(打dota,打球,做饭)等接口就好了。
我们对小A实现的接口越多,则小A这个形象就越鲜活,世界是没有一模一样的两片叶子,何况是人? 所以我们可以假设如果对于小A实现的接口足够多,最终我们会很明确的知道小A,其实就是xxx(如李逍遥)。

Java为了安全性和健壮性等的考虑是不支持多继承的,我们就需要用接口+多态来进一步的描述事物了。毕老师告诉我们,Java语言就是对现实事物的描述,而类就是搭建了一个大框架,接口就是进一步的描述,建立连接,一点一点的使某个物体更清晰。

像画素描一样,先要确定大轮廓,大轮廓和骨干都定下来之后再去抠细节,这样才能将现实映射到画布上, 描述的方法很多,而且几乎每个人都有不同的视角,至于谁能画的像,谁的画的比原有的更漂亮,即上升到艺术,那就要修炼了。
我们都拿着Java 这支画笔,在各自的屏幕上作画~ 大家一起加油!
To be continue...
用一张图来总结下自己的思路(有点丑不好意思):



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马