黑马程序员技术交流社区
标题:
接口
[打印本页]
作者:
fmi110
时间:
2015-9-24 16:59
标题:
接口
a
9、接口:当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口
格式: interface{}
接口中成员的修饰符是固定的:
成员变量:public static final (只能是常量)
成员方法:public abstract
由此可知,接口中的成员都是公共的权限
接口是对外暴露的规则
接口是程序功能的拓展
P.S.
1 虽然抽象类中的全局变量和抽象方法的修饰符都可以不用写,但是这样阅读性很差。 所以,最好写上。
2 类与类之间是继承关系,类与接口之间是实现关系。
3 接口不可以实例化,能由实现了接口并覆盖了接口中所有的抽象方法的子类实例化。 否则,这个子类就是
一个抽象类
接口的出现将“ 多继承” 通过另一种形式体现出来,即“ 多实现” 。
在java中不直接支持多继承,因为会出现调用的不确定性。
所以,java将多继承机制进行改良,在java中变成了多实现,一个类可以实现多个接口。
接口的出现避免了单继承的局限性。
一个类在继承另一个类的同时,还可以实现多个接口。
interface A{
public abstract void show();//接口中方法没有实体
}
interface B{
public abstract void show1();//抽象方法没有实体
}
class C{
public void method(){};
}
class D extends C implements A,B{
public abstract void show(){} //重写接口中的方法
public abstract void show1(){}//重写接口的方法
}
10、抽象类和接口的异同点
相同点:都是不断向上抽取而来的
不同点: 1 抽象类需要被继承,而且只能单继承
接口需要被实现,而且是多实现
2 抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法
接口中只能定义抽象方法,必须由子类实现
3 抽象类的继承,是 is a关系,定义该体系的基本共性内容
接口的实现是 like a 关系,是拓展功能
复制代码
作者:
meijunwei6275
时间:
2015-9-24 17:48
总结的不错,学习一下
作者:
插兜
时间:
2015-9-24 17:50
很长很棒很好很赞
作者:
381890216
时间:
2015-9-24 18:34
学习学习。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2