什么是接口

翻译自ORACLE Java Tutorials –What Is an Interface?

正如你已经学到的,对象通过他们公开的方法来定义与外部世界的交互。 方法形成物体与外界接口; 例如,电视机前面的按钮是您和塑料外壳另一侧的电线之间的接口。 按“电源”按钮打开和关闭电视机。

在其最常见的形式,接口是一组与空机构相关方法。 如果指定为接口,自行车的行为可能如下所示:

interface Bicycle {

    //  每分钟轮转
    void changeCadence(int newValue);
    //  改变齿轮
    void changeGear(int newValue);
    //  速度
    void speedUp(int increment);
    //  允许刹车
    void applyBrakes(int decrement);
}

为了实现这个接口,你的类的名称将发生变化(以某品牌自行车的,例如,如ACMEBicycle),并且你会使用在类声明的implements关键字:

class ACMEBicycle implements Bicycle {

    int cadence = 0;
    int speed = 0;
    int gear = 1;

    // 编译器现在将需要这些方法
    // changeCadence,changeGear,speedUp和applyBrakes
    // 全部实现 如果该类中缺少方法,则编译会失败


    void changeCadence(int newValue) {
         cadence = newValue;
    }

    void changeGear(int newValue) {
         gear = newValue;
    }

    void speedUp(int increment) {
         speed = speed + increment;   
    }

    void applyBrakes(int decrement) {
         speed = speed - decrement;
    }

    void printStates() {
         System.out.println("cadence:" +
             cadence + " speed:" + 
             speed + " gear:" + gear);
    }
}

实现接口允许类对其承诺提供的行为变得更加正式。 接口在类和外部世界之间形成合约(contract ),并且该合约在编译器的构建时执行。 如果你的类声称实现一个接口,那么该接口定义的所有方法都必须在它的源代码中显示,然后类才能成功编译。

注意:要实际编译ACMEBicycle类,您需要将public关键字添加到已实现的接口方法的开头。 稍后您可以在类和对象以及接口和继承的课程中了解原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值