标识类型模式

标识类型模式

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

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

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

鱼肉:

public class Fish implements Food{...}
  • 1

进食方法:

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

进食:

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

所谓标识类型模式就是借助Java编译器来对传给eat()方法的food参数进行语义上的约束。Food接口被称为标识类型接口,这种接口没有任何方法,仅代表一种抽象类型。在JDK中,有如下两个典型的表示类型接口。

  • java.io.Serializable接口:实现该接口的类的实例可以被序列化
  • java.io.Remote接口:实现该接口的类的实例可以作为远程对象
原文地址:https://www.cnblogs.com/lizeyang/p/5578195.html