抽象与接口之狐狸和兔子(中)

@spiritree  September 1, 2016

Cell包中的cell类作为接口

import java.awt.Graphics;

public interface Cell {
    void draw(Graphics g, int x, int y, int size);
}
  • Java把抽象的概念又更推进了一步。这就是接口(Interface)。接口其实就是完全抽象的类,因此接口和类的地位是一样的,此前所有针对类的所有法则同样适用于接口。接口所有的方法都是没有方法体的,而且都是public abstract,即使你没有这样声明。

  • 而接口中的所有成员变量都是public static final的变量,并且必须有定义初始化,因为所有变量都必须在编译的时候有确定值。

  • 接口和类的地位是一样的。因此我们可以看到其定义方式跟类也是基本上一样的。

  • 当然,其中的所有方法都没有方法体。而当类从接口得到继承的时候,Java用另外一个动词:实现(implements)。当然,实现接口的类必须覆盖接口中所有的方法,否则这个类就成为一个抽象类。

  • Java不允许多继承,但是允许一个类实现多个接口,也允许一个接口从多个接口得到继承,但是不允许接口从类继承。


添加新评论