java – 可以标记接口,如serializable包含默认方法?

我认为它不能,因为标记界面的原则是没有任何方法,但由于方法不是抽象的我不知道.

解决方法

就像 Java一样,“Marker”界面只是一个常规的界面.因此,它可以具有与任何(Java-8)接口一样的方法.

现在,关于这是否违反了Marker界面的原则,我不得不说是的.标记界面应该作为一种标志,仅标识一个类符合一些外部标准.现在,它可以是一个Marker界面,并且具有抽象/方法,但它将不再纯粹符合定义.

从有效的Java(第二版):

A marker interface is an interface that contains no method declarations,but merely designates (or “marks”) a class that implements the interface as having some property.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...