接口的概念:初期理解,可以认为是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。 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. }
|