Java接口

什么是接口:

       Java中接口(interface)是抽象类的概念更深入一层。接口中声明了方法,但不定义方法体,因此接口只是定义一组对外的公共接口。

 

接口的具体定义:

       接口的定义包括接口声明接口体,如下:

//格式
interfaceDeclaration
{
        interface Body
}
//接口声明
[public]  interface InterfaceName [ extends listofSuperInterface]{

}
//常量定义
type NAME = value;
//方法体定义
returnType methodName([paramlist]);

 

接口的实现与使用:

       类的声明中用implements子句来表示一个类实现了某个接口,在类体中可以使用接口中定义的常量,而且必须实现接口中定义的所以方法。一个类可以实现多个接口,在implements子句中用逗号分隔。在类中实现接口所定义的方法时,方法的声明必须与接口中所定义的完全一致。以下是一个实例:

//定义一类飞行实体接口
public interface Flyer{
   //描述飞行实体的飞行行为
   public void takeoff();    //起飞
   public void land();        //着陆
   public void fly();           //飞行
}
//飞机
public class Airplane implements Flyer{
   public void takeoff(){
      //加速至起飞,收起着陆装置等操作
  }
   public void land(){
      //下落着陆装置、减速并降低记忆直到接触地面等操作
  }
  public void fly(){
      //保持所有发动机正常运行等操作
  } 
}

 

接口与多重继承:

       在c++中,多重继承要将多个父类合并到一个类中。因为每个父类都有自己的一套实现细节,导致合并操作复杂,并可能存在同一个方法的两种不同实现,由此产生代码冲突,增加代码的不可靠性。Java中规定每一个类只能继承一个父类,但可以实现多个接口,Java是利用接口实现多重继承的。由于接口根本没有实现细节,所以在进行父类与多个接口的合并时,只可能有一个类具有实现细节,如下图所示。

 接口与抽象类比较:

    1)接口中的所有方法都是抽象的,而抽象类可以定义带有方法体的不同方法。

    2)一个类可以实现多个接口,但只能继承一个抽象父类。

    3)接口与实现他的类不构成类的继承体系,即接口不是类体系的一部分。

    使用接口的好处:

        (1)类可以通过多个接口可以实现多重继承,这是接口最重要的作用,也是使用接口的最重要的原因        ——能够使子类对象上塑造型为多个基础类(接口)类型。

        (2)能够抽象出不相关类之间的相似性,而没有强行形成类的继承关系。

    使用接口,可以同时获得抽象类以及接口的优势。所以如果要创建的类体系的基础类不需要定义任何成员变量,并且不需要给出任何方法的完整定义,则应该将基础类定义为接口。只有必须在使用方法定义或者成员变量时,才应该考虑采用抽象类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值