大侠:Java中的接口可以定义成空接口吗?如果可以,那为什么要定义成空接口?

解决方案 »

  1.   

    有些接口只是一个标识接口,标识某各类只要实现此接口就会具备某种特性,才能做某种事情
    如(Serializeble, RMI中的Remote)
      

  2.   

    比如用Struts2写拦截器,
    我定义一个空接口Authless,所有实现这个空接口的Action都不参与验证:
    在拦截器里就可以写 if (actionInvocation instanceof Authless) {} else {/*验证处理*/}
      

  3.   

    可以有空接口啊,比如说API中的Cloneable接口,还有Serializable接口都的空接口
    他们的作用是打一个标志,就像对象的序列化一样,告诉虚拟机这个对象是可以被序列化的。
    这里有篇理解空接口的好文章
    http://www.duduwolf.com/wiki/2006/30.html
      

  4.   

    空接口一般是给类定性用的,
    可以让执行这个类的平台(框架或者虚拟机之类)认识当前这个类属于什么类型。good luck
      

  5.   

    标记接口哦,现在很少用了,可以使用 Annotation 取代
      

  6.   

    标记接口要比用 Annotation 优越,因为还可以进行更高一层的抽象。