接口

接口

     意义 :  【1】接口中定义的一些系列方法表示的是一种种的能力。接口让实现类实现这些能力,实现类的能力得到拓展和升级。实现类根据自身特性实现接口中定义的方法。    

        【2】接口也可表示一种约定(协议),约定(规范)了实现类应该具备(has a)的能力。

        【3】实现类必须实现接口中所有的方法,所以接口规范了实现类的行为

          关键字   : interface

  public interface MyInterface {
      public static final String version = "1.0";
      public int count = 10; // 默认是static final类型
  }

      特性:【1】接口可以声明变量都是static final 的类型

         【2】接口中的方法都是公共抽象方法  (省略不写 abstract 一定是抽象方法)

           【3】接口不能拥有构造方法和创建对象

         【4】接口可以继承,一个接口可以继承多个接口

         【5】一个类可以实现一个或者多个接口,该类称为实现类,实现类必须实现接口中的所有抽象方法;

         注意:一个类只能继承一个父类,同时实现多个接口。继承在前,实现在后。

          public class ImplClass3 extends AbsClass implements AInterface,BInterface
      {
      }

   接口实现多态和继承实现多态:

      【1】接口实现多态: 接口类型 引用 实现类对象

      【2】继承实现多态: 父类类型 引用 子类对象

      【3】接口定义的方法被实现类实现,通过接口引用实现类时,调用接口中的方法时,执行的是实现类实现的方法。

      【4】实现类对象具备接口中定义的能力 是一种has a 关系

      【5】子类对象是一种父类类型 是一种is a 关系

          抽象类和接口的异同比较:  

                    【1】 抽象类和接口都是引用数据类型,他们都不能创建对象。

                    【2】他们都可以定义抽象方法,都可以实现多态。但是抽象类可以定义非抽象方法,而接口中定义的都是抽象方法。

                    【3】抽象类和接口都具有传递性。抽象类是单根性(单继承),而接口是多继承。

                    【4】在概念上,都可以重写抽象方法。子类重写抽象类,实现类实现接口

                    【5】抽象类和子类解决的是模块内的问题(代码重用,重写,多态)而接口解决的是模块间的问题 => 高内聚,低耦合。接口可以用解耦模块。

 

 

 

 

 

  

posted on 2019-04-26 20:57  德德玛  阅读(132)  评论(0编辑  收藏  举报