请问java中,er interface 的具体作用是什么?例如serializable这个就是一个接口,但他没有任何的methods和field,那么JVM如何知道这个接口就是要序列化?是不是java中就直接定义了这个接口就是一个序列化的功能,只要implements这个接口就实现的序列化?如果这样的话,那么我们自己定义了一个er interface的话,那么这个接口没有任何的methods和field,而且java也没有定义说我们自己定义的这个er interface就要实现某种功能,那么我们implements这个接口有什么意义呢?我又看过网上的某些说明,就是implements这个自己定义的接口,然后用instanceof来判断是否implements了这个接口,但这样也好像没什么意义啊,因为我们自己定义的这个接口 根本没有任何的methods和field,所以请问各位,究竟这个自己定义的er interface有什么作用啊???

解决方案 »

  1.   

    实现了serializable接口就表示遵循“Java(TM) 对象序列化规范”,可以进行序列化,而你定义的接口呢?java没有定义相应的规范,更谈不上遵守,当然不知道你这个接口是干什么的。
      

  2.   

    这样的接口属于标记接口,即表示该对象属于某一个类型,
    实现serializable就是说我这个类是可以序列化的
    这样的接口就是为类做一个标记.