19.5.1 接口

黑盒和白盒 黑盒代表无需知道事物内部的细节直接使用,例如使用遥控器、手机,基本90%的电器的使用,我们都是黑盒操作。我们只需要熟知它们的外部接口(例如遥控器上面的按钮、冰箱按钮、微波炉按钮)就可以使用。 白盒和黑盒是相对的两个概念,白盒是指使用者完全知道事物的所有内部细节。例如程序员在编程,设计人员在设计电器等等。 我们可以把定义功能看做是遥控器的设计,到底一个遥控器上面有多少个按钮,这些按钮有些什么功能。我们先忽略掉遥控器按钮的操作是否方便,只定义功能,也不考虑怎么实现这些功能,你可以把自己想象成遥控器设计师。 例如这就是一个接口:
public interface Math{
    double sin(double d);
    double cos(double d);
    double abs(double d);
}
Math是接口的名字,注意它定义的写的是interface而不是class。它里面有三个函数sin、cos和abs,它只定义功能:正铉、余铉和绝对值。它现在是无法真正做出计算的。 定义一个接口的方法和定义一个类类似,新建的时候选择interface就可以了(不要选择class) 接口里面的函数定义double sin(double d);(最后是分号) 这个是纯粹的功能定义,它有以下的含义: 1.函数的名字是sin 2.函数接收一个double类型的参数 3.函数计算结果是double类型的