标识类型模式

   定义一个不包含任何方法的接口,用它仅仅来表示一种抽象类型。所有实现该接口的类意味着属于这种类型。

   比如定义一个Food接口,其中不包含任何方法:

public interface Food{}//实现该接口的类都是食物类型

   鱼肉:

public class Fish implements Food{...}

   进食方法:

public void eat(Food food){...}

   进食:

Food fish = new Fish();//Fish实现了Food接口,标识其食物类型
eat(fish);//合法
Book book = new Book();//Book未实现Food接口
eat(book);//编译错误

   所谓标识类型模式就是借助Java编译器来对传给eat()方法的food参数进行语义上的约束。

   Food接口被称为标识类型接口,这种接口没有任何方法,仅代表一种抽象类型。

   在JDK中,有如下两个典型的表示类型接口。

  • java.io.Serializable接口:实现该接口的类的实例可以被序列化
  • java.io.Remote接口:实现该接口的类的实例可以作为远程对象
posted @ 2016-06-12 17:33  美味的你  阅读(113)  评论(0编辑  收藏  举报