天天看点

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

类与接口之间的关系:

实现关系

​类与接口要注意的事项:

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()方法,该调用哪一个好呢?所以单继承

接口与接口之间的关系:继承关系

接口与接口之前要注意的事项:

/**
* Author:Liu Zhiyong
* Version:Version_1
* Date:2016年4月24日16:04:50
* Desc:
    类与接口之间的关系:实现关系
    类与接口要注意的事项:
      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.一个接口是可以继承多个接口的
*/
interface A
{
  public void print(); //接口B中和接口A中有同名方法
}
interface B extends A, C//B接口继承了A接口
{
  public void print(); //接口B中和接口A中有同名方法,但是没问题
  public void test(); 
}
interface C
{
  public void run(); 
}
abstract class Animal implements A 
{
  public void print(){
  
  }
}
class Demo54  implements B,C
{
  public void print(){
  
  }
  public void test(){ 
  
  }
  public void run(){ 
  
  }
  public static void main(String[] args) 
  {
    System.out.println("Hello World!");
  }
}      

继续阅读