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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 楞个里格朗 中级黑马   /  2013-8-24 11:11  /  1097 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 forward 于 2013-8-24 20:14 编辑

接口是一种现阶段可以理解为一个抽象的类,但感觉不是一般的类,好像是专门为外界提供抽象方法的。是不是只能提供一些JAVA固有的抽象方法?

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

5 个回复

倒序浏览
可以认为是特殊的抽象类,当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示
也可以用来多实现,比如匿名内部类,
接口,我的理解是,将共享,但有自己特点的方法抽出,方便其他类使用

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
因为java是单继承 打个比方 鸟类这个父类可以定义一些鸟类共有的属性和方法 比如眼睛 翅膀等 吃喝,飞等情况,现在我继承鸟类父类的子类是一个企鹅,企鹅会飞吗?不会飞这个方法自然实现不了,而且不符合逻辑,所以这个时候就体现出了接口的价值,当我子类鸟类想要飞翔这个方法的时候,只需要实现飞翔这个接口就可以,而企鹅啊 鸵鸟等不会飞的鸟类就可以不实现.
接口就是弥补父类用的,因为很多共性的东西是大部分子类可以使用,小部分子类使用这些方法就不合适的情况下提出的.
所以未来就是面向接口编程,单继承多实现
回复 使用道具 举报
最终的意思还是说自身由于是抽象的,不能建立对象,只能供其实现类调用其方法
回复 使用道具 举报
抽象方法有很大的局限性,因为如果我定义了抽象方法必须定义抽象类,现在我父类不想定义抽象类,或者子类继承了父类却不想重写没用的抽象方法的时候就需要接口了

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
gulup 来自手机 中级黑马 2013-8-24 11:24:08
地板
接口主要的作用是作为一个标准存在。抽象类主要作为一个模板存在,这两个还是有明显区别的。同时,实现接口的时候,为了可以有选择性的去实现接口的方法,又可以通过抽象类去做一个适配器,再继承抽象类来有选择的覆盖需要的方法。不过继承特性使然,如果接口和抽象类都能使用的话,优先实现接口。就这样。

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

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