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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 星辉祝愿 中级黑马   /  2015-5-28 16:39  /  654 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 星辉祝愿 于 2015-5-28 17:04 编辑

子类继承抽象类和子类实现的接口 都有public abstract int methor(); 那子类写了methor()覆盖方法,会不会有冲突啊?如果不冲突,那methor()是属于覆盖抽象类方法还是覆盖接口方法啊?

  1. public class test3  extends father2 implements face {

  2.         public int methor() {
  3.                 return 0;
  4.         }

  5. }

  6. interface face{
  7.         public int methor();
  8. }

  9. abstract class father2{
  10.         public abstract int methor();
  11. }
复制代码



12 个回复

倒序浏览
学习学习!
回复 使用道具 举报
接口的。
回复 使用道具 举报
接口!  实现接口就必须实现接口方法啊!!
回复 使用道具 举报
接口也没有函数体,覆盖哪一个都没什么区别
回复 使用道具 举报
接口的,接口就是用来复写的,而且是必须呀。写了这个method方法就是接口的
回复 使用道具 举报
接口就是用来复写的
回复 使用道具 举报
接口,接口的抽象方法必须要被重写吧
回复 使用道具 举报
本帖最后由 bin2015 于 2015-5-28 23:17 编辑

类如果实现了接口,必须实现接口的所有方法。不用把接口实现类也抽象,如过实现类也是抽象的那接口就没有意义了。
接口的作用:
       1. 程序的解耦。(低耦合)
       2. 定义约束规范。
      3. 拓展功能。


接口的特点:
        1. 类实现接口可以通过implements实现,实现接口的时候必须把接口中的所有方法实现,一个类可以实现多个接口。
        2. 接口中定义的所有的属性默认是public static final的,即静态常量既然是常量,那么定义的时候必须赋值。
       3.  接口中定义的方法不能有方法体。接口中定义的方法默认添加public abstract
       4. 有抽象函数的不一定是抽象类,也可以是接口类。
        5. 由于接口中的方法默认都是抽象的,所以不能被实例化。
        6. 对于接口而言,可以使用子类来实现接口中未被实现的功能函数。
       7. 如果实现类中要访问接口中的成员,不能使用super关键字。因为两者之间没有显示的继承关系,况且接口中的成员成员属性是静态的。可以使用接口名直接访问。
        8. 接口没有构造方法。

回复 使用道具 举报
其实没必要钻这个牛角尖,接口是接口的,但是最终结果一点有区别么?
回复 使用道具 举报
当类与接口(或者是接口与接口)发生方法命名冲突的时候,此时必须使用内部类来实现。用接口不能完全地实现多继承,用接口配合内部类才能实现真正的多继承。
这个地方要用匿名内部类。
回复 使用道具 举报
过来学习下
回复 使用道具 举报
不会有冲突。接口的!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马