黑马程序员技术交流社区
标题: JAVASE基础-接口 [打印本页]
作者: zzkang0206 时间: 2014-2-13 09:35
标题: JAVASE基础-接口
接口的概念:初期理解,可以认为是一个特殊的抽象类
当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。
class用于定义类
interface用于定义接口。
接口的格式:
interface {}
接口中的成员修饰符是固定的。
成员常量:publicstatic final
成员函数:publicabstract
发现接口中的成员都是public的。
接口的出现将“多继承”通过另一种形式体现出来,即“多实现”
接口注意事项:
接口:是不可以创建对象的,因为有抽象方法。
需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化。
否则子类是一个抽象类。
接口可以被类多实现,也是对多继承不支持的转换形式。java支持多实现。
怎样实现多继承?
java只有在接口和接口之间才能实现多继承
类与类之间只能实现单继承,而接口让类与类多实现
接口的特点
1.接口是对外暴露的规则。
2.接口是程序的功能扩展。
3.接口的出现降低耦合性。
4.接口可以用来多实现。
5.类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
6.接口与接口之间可以有继承关系。
单继承过后的类,接口的多实现
1. interface Inter
2. {
3. public static final int NUM = 3;
4. public abstract void show();
5. }
6.
7. interface InterA
8. {
9. public abstract void show();
10. }
11.
12. class Demo
13. {
14. public void function(){}
15. }
16.
17. //一个类继承一个类,还能多实现
18. class Test extends Demo implementsInter,InterA
19. {
20. public void show(){}
21. }
22.
23. //接口A
24. interface A
25. {
26. void methodA();//由接口自动填写 public static这两个关键字
27. }
28.
29. //接口B
30. interface B //extends A
31. {
32. void methodB();
33. }
34.
35. //java只有在接口和接口之间才能实现多继承
36. //接口C
37. interface C extends B,A
38. {
39. voidmethodC();
40. }
41.
42. //一般类D实现接口C
43. class D implements C
44. {
45. public void methodA(){}
46. public void methodC(){}
47. public void methodB(){}
48. }
49.
50. class InterfaceDemo
51. {
52. public static void main(String[] args)
53. {
54. Testt = new Test();
55. System.out.println(t.NUM);
56. System.out.println(Test.NUM);
57. System.out.println(Inter.NUM);
58. //t.NUM,Test.NUM, Inter.NUM指向的都是一个常量,输出结果是 3
59. }
60. }
作者: 老貓钓鱼 时间: 2014-2-13 09:45
学习学习
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |