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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李晓俊老师 黑马帝   /  2012-2-26 23:25  /  5472 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李晓俊 于 2012-2-28 18:41 编辑

接口里面的方法都是抽象方法么

评分

参与人数 1黑马币 +5 收起 理由
老罗 + 5 先知道什么时候抽象方法,再去比对.

查看全部评分

9 个回复

正序浏览
袁野 黑马帝 2012-2-28 16:17:06
10#
接口中的方法一定是抽象的 public 在子类中实现
回复 使用道具 举报
王康 黑马帝 2012-2-27 11:01:58
9#
先了解抽象类的含义,再比对抽象类和接口的异同.
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为改类声明方法,但不能在改类中实现改类的情况。不能创建abstract类的实例。然而可以创建一个变量,其类型是一个抽象类,并让他指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类。取而代之,在子类中实现改方法。知道其行为的其他类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这些接口而获得。接口中的所有方法都是抽象的,没有一个程序体。接口只可以定义static final 成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,他说可以在实现了该接口的类中的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口。

评分

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

查看全部评分

回复 使用道具 举报
朱皓 中级黑马 2012-2-27 09:22:49
8#
是的,而且必须是抽象的,抽象的作用就是为子类提供一个行为上的定义,但具体的实现由子类去做,这就是多态
回复 使用道具 举报
老罗 黑马帝 2012-2-27 08:58:43
7#
房宝彬 发表于 2012-2-27 00:06
老李

老房
回复 使用道具 举报
接口的是一个比较特出的抽象类,当抽象类里的方法都是抽象时,那么可以通过接口的形式来表现。
回复 使用道具 举报
接口里的方法,默认都是抽象的,不用直接写abstract修饰了
因为java用接口这个关键字来声明,在接口里定义的都是抽象的,必须被实现类实现的!
回复 使用道具 举报
接口里定义的方法 必须是没有方法体! 否则将会编译错误。
接口的方法都没有方法体 , 所以都是抽象方法!
接口的实现类必须都要重写接口中的方法!

一般情况下都是用接口去 new 出一个实现类 的对象, 然后用接口去调同实现类里面的方法,这样的话在接口里面都是Public的修饰。
在接口中可以定义变量, 但是必须在前面修饰 静态的 常量的,  变量名 全大写。

评分

参与人数 1技术分 +2 收起 理由
老罗 + 2 非常不错。

查看全部评分

回复 使用道具 举报
老李{:soso_e102:}
回复 使用道具 举报
是滴,方法是public的,即使你没有显式的表明,它也是public的
接口中也可以有域变量,但必须是static和final的

评分

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

查看全部评分

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