接口与类、接口与接口之间的关系

           类与接口之间的关系: 实现关系
类与接口要注意的事项:
1.非抽象类实现接口时,需要实现接口中的所有抽象类
2.抽象类实现一个接口时,可以实现也可以不实现接口中的方法
3.一个类可以实现多个接口
疑问:java为什么是单继承(不支持多继承),而支持了多实现?
class C 
{
public void test(){
System.out.println("CCCC.....");
}
}
class D 
{
public void test(){
System.out.println("dddd.....");
}
}
class E extends C, D
{

}

C c = new C();
c.test(); ///这个时候C类和D类中都有test()方法,该调用哪一个好呢?所以单继承

     接口与接口之间的关系:继承关系
     接口与接口之前要注意的事项:
     1.一个接口是可以继承多个接口的
 
   
  1. /**
  2. * Author:Liu Zhiyong
  3. * Version:Version_1
  4. * Date:2016年4月24日16:04:50
  5. * Desc:
  6. 类与接口之间的关系:实现关系
  7. 类与接口要注意的事项:
  8. 1.非抽象类实现接口时,需要实现接口中的所有抽象类
  9. 2.抽象类实现一个接口时,可以实现也可以不实现接口中的方法
  10. 3.一个类可以实现多个接口
  11. 疑问:java为什么是单继承(不支持多继承),而支持了多实现?
  12. class C
  13. {
  14. public void test(){
  15. System.out.println("CCCC.....");
  16. }
  17. }
  18. class D
  19. {
  20. public void test(){
  21. System.out.println("dddd.....");
  22. }
  23. }
  24. class E extends C, D
  25. {
  26. }
  27. C c = new C();
  28. c.test(); ///这个时候C类和D类中都有test()方法,该调用哪一个好呢?所以单继承
  29. 接口与接口之间的关系:继承关系
  30. 接口与接口之前要注意的事项:
  31. 1.一个接口是可以继承多个接口的
  32. */
  33. interface A
  34. {
  35. public void print(); //接口B中和接口A中有同名方法
  36. }
  37. interface B extends A, C//B接口继承了A接口
  38. {
  39. public void print(); //接口B中和接口A中有同名方法,但是没问题
  40. public void test();
  41. }
  42. interface C
  43. {
  44. public void run();
  45. }
  46. abstract class Animal implements A
  47. {
  48. public void print(){
  49. }
  50. }
  51. class Demo54 implements B,C
  52. {
  53. public void print(){
  54. }
  55. public void test(){
  56. }
  57. public void run(){
  58. }
  59. public static void main(String[] args)
  60. {
  61. System.out.println("Hello World!");
  62. }
  63. }

你可能感兴趣的:(javaSE,史上最全的JavaSE基础教程)