黑马程序员技术交流社区
标题: 接口中为什么会有非抽象的方法 [打印本页]
作者: student 时间: 2013-5-29 08:57
标题: 接口中为什么会有非抽象的方法
本帖最后由 student 于 2013-5-29 22:18 编辑
昨天回答First的问题,我又疑惑了。记得毕老师在Java视频里说:接口里的方法都是抽象的(abstract)。
Comparator接口里的compare和equals方法都不是抽象的,这两个方法在源代码中声明如下(这里不显示注释部分):
- int compare(T o1, T o2);
-
- boolean equals(Object obj);
复制代码 Comparator是一个接口,但是这两个方法为什么不是抽象的呢?
作者: 悟佛修道 时间: 2013-5-29 09:45
只有个方法名,都没方法实体,这不就是抽象的嘛。
作者: 梦想蓝色天空 时间: 2013-5-29 09:51
同上。这两个方法都是抽象方法,因为他没有具体的实现。
作者: 谢孔营 时间: 2013-5-29 09:57
在接口中,一定都是抽象的方法,
如果没有写abstract
就是默认的抽象。
作者: student 时间: 2013-5-29 10:28
谢孔营 发表于 2013-5-29 09:57
在接口中,一定都是抽象的方法,
如果没有写abstract
就是默认的抽象。
原来如此,谢谢了!
作者: 娄田田 时间: 2013-5-29 10:28
接口中的方法都是抽象的方法,都没有方法体、没有具体的实现,并且所有的方法默认都是public abstract修饰的,而接口中的所有变量都是有public static final修饰的,即使不写修饰,系统也会默认加上。
作者: 李阳阳 时间: 2013-5-29 11:46
毕老师好像也说过吧,说不写的话它自动都给你补上的
作者: 殇_心。 时间: 2013-5-29 16:42
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |