黑马程序员技术交流社区
标题:
关于接口与抽象类的问题
[打印本页]
作者:
星辉祝愿
时间:
2015-5-28 16:39
标题:
关于接口与抽象类的问题
本帖最后由 星辉祝愿 于 2015-5-28 17:04 编辑
子类继承抽象类和子类实现的接口 都有
public abstract int methor(); 那子类写了
methor()
覆盖方法,会不会有冲突啊?如果不冲突,那methor()是属于覆盖抽象类方法还是覆盖接口方法啊?
public class test3 extends father2 implements face {
public int methor() {
return 0;
}
}
interface face{
public int methor();
}
abstract class father2{
public abstract int methor();
}
复制代码
作者:
石头888
时间:
2015-5-28 16:40
学习学习!
作者:
黯然残影
时间:
2015-5-28 18:24
接口的。
作者:
lucien_he
时间:
2015-5-28 18:32
接口! 实现接口就必须实现接口方法啊!!
作者:
mmakun
时间:
2015-5-28 18:52
接口也没有函数体,覆盖哪一个都没什么区别
作者:
白马黑马
时间:
2015-5-28 19:22
接口的,接口就是用来复写的,而且是必须呀。写了这个method方法就是接口的
作者:
wwb1105
时间:
2015-5-28 19:37
接口就是用来复写的
作者:
zhousuo28
时间:
2015-5-28 22:00
接口,接口的抽象方法必须要被重写吧
作者:
bin2015
时间:
2015-5-28 23:16
本帖最后由 bin2015 于 2015-5-28 23:17 编辑
类如果实现了接口,必须实现接口的所有方法。不用把接口实现类也抽象,如过实现类也是抽象的那接口就没有意义了。
接口的作用:
1. 程序的解耦。(低耦合)
2. 定义约束规范。
3. 拓展功能。
接口的特点:
1. 类实现接口可以通过implements实现,实现接口的时候必须把接口中的所有方法实现,一个类可以实现多个接口。
2. 接口中定义的所有的属性默认是public static final的,即静态常量既然是常量,那么定义的时候必须赋值。
3. 接口中定义的方法不能有方法体。接口中定义的方法默认添加public abstract
4. 有抽象函数的不一定是抽象类,也可以是接口类。
5. 由于接口中的方法默认都是抽象的,所以不能被实例化。
6. 对于接口而言,可以使用子类来实现接口中未被实现的功能函数。
7. 如果实现类中要访问接口中的成员,不能使用super关键字。因为两者之间没有显示的继承关系,况且接口中的成员成员属性是静态的。可以使用接口名直接访问。
8. 接口没有构造方法。
作者:
半世心修
时间:
2015-5-28 23:27
其实没必要钻这个牛角尖,接口是接口的,但是最终结果一点有区别么?
作者:
黑马生涯
时间:
2015-5-28 23:28
当类与接口(或者是接口与接口)发生方法命名冲突的时候,此时必须使用内部类来实现。用接口不能完全地实现多继承,用接口配合内部类才能实现真正的多继承。
这个地方要用匿名内部类。
作者:
途中ms前进
时间:
2015-5-29 00:07
过来学习下
作者:
小车车
时间:
2015-5-29 18:41
不会有冲突。接口的!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2