标识类型模式

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

比如定义一个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 on 2016-06-12 17:26  -EASY-  阅读(139)  评论(0编辑  收藏  举报

导航